linux crontab 定時任務,任務失敗后發郵件問題
https://www.cnblogs.com/sgj123/p/13203481.html
crontab定時任務不執行,並且沒有收到錯誤信息郵件
https://blog.csdn.net/sd4493091/article/details/83345661
https://blog.csdn.net/kirrin/article/details/79884897
https://www.cnblogs.com/worez/p/4999991.html
看到這個的時候 我也是才明白 fastadmin中推薦的 定時任務的格式 為什么是
* * * * * /usr/bin/php /www/yoursite/public/index.php /addons/crontab/autotask/index > /dev/null 2>&1 &
2>&1 的意思就是將標准錯誤重定向到標准輸出。這里標准輸出已經重定向到了 /dev/null。那么標准錯誤也會輸出到/dev/null
可以把/dev/null 可以看作"黑洞". 它等價於一個只寫文件. 所有寫入它的內容都會永遠丟失. 而嘗試從它那兒讀取內容則什么也讀不到.
偶爾也可以把 & 在命令的最后加上,表示讓程序后台執行。
問: 我有一些cron作業在Linux系統上隔夜運行。如果需要查看,這些作業中的每一個都會將信息輸出到文本文件中。有些被編寫為通過mail命令發送電子郵件。
但是,由於我將這些腳本放在了新系統上並添加到了crontab中,因此我收到了有關運行的每個作業的電子郵件。根目錄發送的電子郵件過多。有沒有辦法停止這種行為?
答: Crond通常在執行cron作業時發送電子郵件。它使用/ etc / crontab中的MAILTO變量來確定誰接收電子郵件,默認情況下該用戶是root。有幾種方法可以停止此行為。
1.將MAILTO變量更改為空白。
您可以編輯/ etc / crontab文件,並將MAILTO變量更改為以下內容:
MAILTO=""
這將有效地禁用來自cron守護程序的所有電子郵件。然后,您可以在腳本中決定使用mailx命令或您選擇的命令發送郵件。
這不是我的首選方法,因為當cronjob出現錯誤時,我希望接收電子郵件。