Я написал небольшую строку, которая будет отправлять мне электронное письмо при изменении списка файлов - я использовал sha512 для создания списка хэшей, а затем периодически проверяю, совпадают ли эти хэши.
*/5 * * * * /usr/bin/sha512sum --status -c /sha512.sumlist && echo "Success" > /dev/null || echo "Check robots.txt and index.html in /var/www as staging sites are now potentially exposed to the world and the damned googlebot" | /usr/bin/mail -s "Default staging server files have changed" example@example.org
Он отлично работает в командной строке с:
/usr/bin/sha512sum --status -c /sha512.sumlist && echo "Success" > /dev/null || echo "Check robots.txt and index.html in /var/www as staging sites are now potentially exposed to the world and the damned googlebot" | /usr/bin/mail -s "Default staging server files have changed" example@example.org
Как только я запускаю его как cronjob, он отправляет электронную почту каждый раз, когда запускается с сообщением об ошибке, а не только тогда, когда проверка sha512sum должна завершиться неудачей.
Есть ли что-то глупое, что я упустил в спешке?
Я забыл упомянуть, что я работаю на машине с Ubuntu.