当前位置:  开发笔记 > 编程语言 > 正文

crontab没有在Centos Docker容器上工作

如何解决《crontab没有在CentosDocker容器上工作》经验,为你挑选了1个好方法。

我试图通过Centos docker容器中的Crontab运行一些python脚本,但我没有尝试过任何工作.

首先我安装了cron:

yum install vixie-cron

然后我把它作为服务运行:

/etc/init.d/crond start

(我也跑了,/sbin/service crond因为对相关问题的一些答案建议如此)

ps aux | grep cron 说明:

root     16917  0.0  0.0  23288  1252 ?        Ss   18:53   0:00 crond                                                                                
root     16929  0.0  0.0   9720   836 pts/0    S+   18:55   0:00 grep cron 

crontab -l 好像:

0 17 1 * * /root/proj/env/bin/python /root/proj/files/frontend/file1.py > /var/log/cron.log                                                      

0 9 4 * * /root/proj/env/bin/python /root/proj/files/frontend/file2.py > /var/log/cron.log                                                      

0 17 15 * * /root/proj/env/bin/python /root/proj/files/frontend/file3.py > /var/log/cron.log                                                     

0 9 18 * * /root/proj/env/bin/python /root/proj/files/frontend/file4.py > /var/log/cron.log                                                     

0 14 * * * /root/proj/env/bin/python /root/proj/files/frontend/file5.py > /var/log/cron.log                                               

0 8 * * * /root/proj/env/bin/python /root/proj/files/frontend/file6.py > /var/log/cron.log                                                  

* * * * * echo 'Check!!' > /var/log/cron.log 

所有python脚本和cron.log文件都有权限777 crontab中的最后一个条目只是检查是否有任何内容写入日志文件......但是没有任何内容写在那里.

不知道怎么解决这个问题?

PS:我查看了大量相关的QnAs,但没有一个帮助.

一些答案建议写/etc/crontab...所以我甚至做了条目:* * * * * root echo 'Blah' > var/log/cron.log 那里......但没有效果:(



1> ofey..:

经过一天浪费在谷歌搜索和实验中,这个难题的答案是在文件中注释掉以下行/etc/pam.d/crond(然后运行 service crond restart):

session required pam_loginuid.so

这是因为Docker-Centos的一些安全问题.我没有进一步详细说明其原因.(检查此了解详情.)

此外,对此进行故障排除让我意识到一些可能有用的问题:

检查你是否将crond作为服务运行(如果没有,请使用 /etc/init.d/crond start)

crontab中的每一行都应该跟一个换行符

您的脚本和日志文件应具有合适的写入/执行权限

crontab文件不应该有奇怪的Windows环境字符(如^ M)

在极少数情况下,crond可能与您的系统具有不同的时区

还要检查/etc/cron.allow and /etc/cron.deny文件以验证谁可以添加/编辑cron作业

你的一天投入更多富有成效的追求,陌生人.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有