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