Centos

cron 完成後如何獲取電子郵件通知和登錄文件(兩者)

  • April 10, 2015

我是linux的新手。我試圖弄清楚事情。有人可以幫我如何組合這兩個命令嗎?

(1) 通常可以通過以下方式編輯 crontab 將 cron 的結果定向到日誌文件

*/10 * * * * /scripts/mysc.sh >> /home/ara/Desktop/test/log.txt 2>&1 

(2) 如果我們需要 cron 結果是我們可以使用的電子郵件,MAILTO=someemail@domain.com例如

MAILTO=someemail@domain.com
*/10 * * * * /scripts/mysc.sh

但是如何結合選項(1)和(2)呢?我已經看到一些虛擬主機空間確實同時啟用了這兩個選項。我做了我的研究/Google搜尋,但沒有做到。我正在使用 centos 6.5 並用於crontab -e編輯。

您的第一個範例將 stderr 和 stdout 都發送到文件 (2>&1) ;cron 中設置的 MAILTO 變數將擷取任何未重定向的輸出,這與將輸出定向到文件相結合意味著 cron 沒有輸出可用於發送電子郵件。

我建議使用 tee 將輸出附加到文件並將其發送到標準輸出;這個答案 - https://serverfault.com/a/472878/102867 - 與您要求實現的答案非常相似。

或者,按照第一個答案中的建議,編寫一個包裝腳本來更優雅地處理腳本的輸出,然後您可以同時記錄並郵寄腳本的輸出

引用自:https://serverfault.com/questions/610437