How to get cron job to mail output only if non-empty
davidmichaelkarr at gmail.com
Thu Mar 5 01:32:59 UTC 2009
I have a (root) cron job definition like the following:
0 0 * * * /usr/bin/clamscan --no-summary -r --reload
--log=/var/log/clamav/clamscan.log -i / | mail -s "Virus scan found
something" davidmichaelkarr at gmail.com
This works fine when it finds something (I tested it with a fake virus
file), but what I didn't expect is that "mail" sends the mail even if the
output is empty. It would be straightforward to extend this into a shell
script that writes the output to a temp file, then only pipes it into "mail"
if the output is non-empty, and then deletes the temp file. Is there an
"easier" (that can mean many things) way to do this?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ubuntu-users