在Debain的docker中啟用crontab,有問題處理了一天,特地記錄一下。Debain和ubuntu差不多,故算在ubuntu下面了。
1.第一個問題,安裝crontab
看清楚了,是cron,不是crond??!在centos下安裝需要的vixie-cron之類的東西也根本就不需要??!在網(wǎng)上各種適用于centos的教程真是把我坑慘了!記住,在ubuntu下只需要上面一個指令就夠了!
2.啟動crontab服務(wù)
/etc/init.d/cron status #查看狀態(tài)
/etc/init.d/cron restart #啟動服務(wù)
查看狀態(tài)用ps -ef|grep cron也行,啟動服務(wù)用service start cron也行。只要記住一點,是cron不是crond!crond是centos用的。
3.針對docker,如果用的不是docker就可以跳過這一步了
修改/etc/pam.d/cron文件,將其中的required改為sufficient,然后重啟cron服務(wù):/etc/init.d/cron restart
4.腳本中必須用絕對路徑
無論是shell腳本還是python腳本,里面所有的路徑必須都是絕對路徑!
5.導入需要的環(huán)境變量
例
0 8 * * * . /etc/profile; /bin/sh /home/abc/test.sh
0 8 * * * /bin/usr/python2.7 /home/abc/test.py
這些都ok了應(yīng)該就沒有問題了。