[eside-ghost] como cambiar comportamiento de emails de cron
AngelD
angeld en froga.net
Mar Ene 27 20:12:43 CET 2009
El Mar, 27 de Enero de 2009, 19:00, STenyaK escribió:
> Wenas, ando un poco liao con una cosilla. Tengo un crontab de usuario
> tal que asin: */30 * * * * ~/usr/sbin/screenls.sh |grep p2p ||
> screen -d -m -S p2p ~/usr/sbin/p2p.sh
>
> Como veis hay un grep ahi en medio.
>
> El tema es que, si ese grep encuentra algo, me envia un email (cuyo
> contenido es el output del grep). De lo contrario, no se envia ningun
> email. Me gustaría que ocurriera a la inversa: si grep no ve nada, enviar
> un email (aunque el body esté vacío: con el subject y la fecha del email
> tengo suficiente).
>
> Ayer he estao ofuscandome un buen rato, metiendole un -v al grep, y
> luego && en vez de ||, pero no hay tu tia... Seguro que es una chorrada
> inmensa, pero nada, no consigo hacerlo... alguien puede indicarme como
> invertir dicho comportamiento?
Con la '-v' del 'grep' mostrarías todas las lineas que no coincidan con
el patrón, enviando el correo siempre.
Una forma sencilla puede ser con la opción '-c' del 'grep', que cuenta el
número de coincidencias. Una vez almacenado este valor en una variable,
se pasa esta por un "if [ ${COINCIDENCIAS} -ge 1 ]" en el que se
condiciona el envío del correo. Esto implicaría generar o modificar los
scripts que utilizas, para sacar el grep del cron.
Saludos --- Angel
Más información sobre la lista de distribución eside-ghost