在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了应该就没有问题了~ 如果还有问题,那么恭喜你踩到了我没有踩过的坑~~~