在Debain的docker中启用crontab,有问题处理了一天,特地记录一下。Debain和ubuntu差不多,故算在ubuntu下面了。
1.第一个问题,安装crontab
apt-get install cron
看清楚了,是cron,不是crond啊!在centos下安装需要的vixie-cron之类的东西也根本就不需要啊!在网上各种适用于centos的教程真是把我坑惨了!记住,在ubuntu下只需要上面一个指令就够了!
2.启动crontab服务
/etc/init.d/cron status #查看状态
/etc/init.d/cron restart #启动服务
查看状态用ps -ef|grep cron也行,启动服务用service start cron也行。只要记住一点,是cron不是crond!crond是centos用的。
3.针对docker,如果用的不是docker就可以跳过这一步了
修改/etc/pam.d/cron文件,将其中的required改为sufficient,然后重启cron服务:/etc/init.d/cron restart
4.脚本中必须用绝对路径
无论是shell脚本还是python脚本,里面所有的路径必须都是绝对路径!
5.导入需要的环境变量
例
0 8 * * * . /etc/profile; /bin/sh /home/abc/test.sh
0 8 * * * /bin/usr/python2.7 /home/abc/test.py
这些都ok了应该就没有问题了。