Cron
通過 crontab 觸發時,Mailx 或 mail 命令不包括正文
我創建了一個腳本來檢查 apache 伺服器的程序並在程序關閉時發送電子郵件。
apache_down=`service httpd status | grep "inactive (dead)"` echo “$apache_down" | mailx -s “APACHE_DOWN_`hostname`” abc@gmail.com
該腳本在手動執行時工作正常 - 它發送帶有正確主題和正文“$apache_down”的郵件。
但是,當我將它放在 crontab 下時,它只發送帶有主題而不是正文的郵件。
*5 * * * * script.sh >/dev/null 2>&1
正文是空的,只有 "" 。我使用了 mail -s 和相同的結果。這是我的腳本或 crontab 或 mailx 設置的問題嗎?
檢查**$PATH變數是否正確設置為執行命令,如果沒有,則在腳本中設置它或通常用於 cron。如果 $PATH 沒有為二進制正確設置,則服務命令將不會執行,或者您必須手動添加它將其作為/usr/sbin/service執行**
還嘗試添加檢查變數是否在腳本中有一些輸出…
if [[ -n "$apache_down" ]] then echo “$apache_down" | mailx -s “APACHE_DOWN_`hostname`” abc@gmail.com else echo "apache running fine" | mailx -s “APACHE_Running_`hostname`” abc@gmail.com fi