Crontab + Sendmail實現定時任務並且通知
systemd timers真是不好用。或者說,我還是更喜歡crontab,簡單易懂。最近我有個需求是定時從雲主機把資料 備份到筆記本上,一開始用的systemd timers,但是出錯了也不通知我,於是用回crontab,而且還發先可以使用 Linux自帶的本地郵件的功能來實現提醒的功能。
$ sudo pacman -S cronie opensmtp $ sudo systemctl enable cronie $ sudo systemctl enable smtp $ sudo systemctl start cronie $ sudo systemctl start smtp
然後就crontab -e
編輯自己的定時任務,之後只要有郵件,你就會收到一個通知。例如編寫下面這樣一個crontab:
MAILTO=jiajun * * * * * root
注意,MAILTO=
$ date Thu 25 Apr 2019 09:01:32 PM CST $ cd You have new mail in /var/spool/mail/jiajun
切換目錄的時候,就會提醒我有郵件。當然,這還有一個重要原因是設定了MAIL
這個環境變數。如果沒有,需要檢查一下:
$ echo $MAIL /var/spool/mail/jiajun