crontab定時任務不執行,並且沒有收到錯誤資訊郵件
阿新 • • 發佈:2018-12-17
現象:
crontab中定義的msqldump定時任務不能執行,沒有收到錯誤資訊郵件,檢視日誌/var/log/cron顯示如下
CROND[15777]: (root) MAIL (mailed 33 bytes of output but got status 0x0043#012)
解決過程:
1.將shell指令碼中的相對路徑改為絕對路徑,直接執行sh沒有問題,用crontab -e進行定時處理,仍然無法進行備份。 2.使用mail命令檢視root收到的郵件資訊,沒有新郵件提示。檢視/var/spool/mail的root檔案中的郵件資訊,發現裡面的資料沒有更新,cron的log檔案裡面描述的出錯資訊的郵件都應該傳送到上面說的root檔案中,由此判斷系統的郵件功能出現異常。 3.cd到/ect/rc.d/init.d
Starting sendmail: 451 4.0.0 /etc/mail/sendmail.cf: line 91: fileclass: cannot open '/etc/mail/local-host-names': World writable directory 451 4.0.0 /etc/mail/sendmail.cf: line 588: fileclass: cannot open '/etc/mail/trusted-users': World writable derectory [FAILED]
而後使用[[email protected] etc]# chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue[[email protected] etc]# chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 再sendmail restart mail服務正常啟動,這樣我就可以看到我的cron日誌檔案中描述傳送的郵件(定時執行shell時產生的錯誤資訊)寫到/var/spool/mail的root檔案中了。 4.執行定時任務,郵件中的提示資訊為/usr/local/mysql/CollectionDataBackup/CollectionDataBackup.sh: line 55: mysqldump: command not found
將mysqldump路徑新增到PATH中。
SHELL=/bin/bash
PATH=/usr/local/mysql/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
5.再次定時執行,ok備份成功