Bash
Cron:只收到電子郵件中的錯誤?
最後,我通過一個 shell 腳本為我的數據設置了一個現實的備份計劃,該計劃由 cron 在很短的時間間隔內處理。不幸的是,每次執行 CRON 時,我都會收到空電子郵件,而不僅僅是在出現問題時。
是否有可能只在出現問題時讓 CRON 發送電子郵件,即。我
TAR
沒有按預期執行?這是我的 crontab 目前的設置方式;
0 */2 * * * /bin/backup.sh 2>&1 | mail -s "Backup status" email@example.com
非常感謝!
理想情況下,如果一切都按預期進行,您希望備份腳本不輸出任何內容,並且僅在出現問題時才產生輸出。然後使用 MAILTO 環境變數將腳本生成的任何輸出發送到您的電子郵件地址。
MAILTO=email@example.com 0 */2 * * * /bin/backup.sh
如果您的腳本通常會產生輸出,但您在 cron 中不關心它,只需將其發送到 /dev/null,它只會在將某些內容寫入 stderr 時通過電子郵件發送給您。
MAILTO=email@example.com 0 */2 * * * /bin/backup.sh > /dev/null