2020年5月25日

用 crontab 來做固定排程

想要每天(或固定週期) 用 crontab 來做固定排程

例如,

1. 新建一個 dailyjob.sh,內容:

echo $(date '+%Y%m%d')> /home/xxxx/html/my.log
cd ~/html
gretlcli get-cfood-17d.inp -b

2. 更改成可執行
chmod u=rwx,g=rx,o=r dailyjob.sh

3. 編輯 crontab ,下指令

crontab -e

然後在檔尾新增

2 22 * * * ~/html/dailyjob.sh > /dev/null 2>&1

我用的文字編輯是 vim,寫完按 ESC+:,再按 wq 寫入,終端機回應

$ crontab -e
crontab: installing new crontab

這樣就可以啦

crontab -e 檔中的前5個數字,分別代表運作周期:
分 時 天 月 星期

星號,代表任何時刻都可以,其它參數,參見 這個網頁



在 ubuntu 16 和 mint 19 都可以,不用加 「MAILTO=""」

查是否執行的 log

ubuntu 16,下指令:sudo grep CRON /var/log/syslog
mint19,下指令:service cron status

參考以下網站:
https://code.kpman.cc/2015/02/11/%E5%88%A9%E7%94%A8-crontab-%E4%BE%86%E5%81%9A-Linux-%E5%9B%BA%E5%AE%9A%E6%8E%92%E7%A8%8B/
https://kknews.cc/zh-tw/code/vr9z64l.html
https://t.codebug.vip/questions-979904.htm

其它參考