How to get cron job to mail output only if non-empty
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" email@example.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?
ubuntu-users mailing list
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-users