gpt4 book ai didi

python - crontab 不适用于 Centos Docker 容器

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:16 25 4
gpt4 key购买 nike

我正在尝试通过 Centos docker 容器中的 Crontab 运行一些 python 脚本,但我尝试过的都没有用。

首先我安装了cron:

yum install vixie-cron

然后我将其作为服务运行:

/etc/init.d/crond start

(我还运行了 /sbin/service crond start 因为一些相关问题的答案是这样建议的)

ps 辅助 | 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 文件都有权限 777crontab 中的最后一个条目只是检查是否有任何内容被写入日志文件......但那里没有任何内容......

知道如何解决这个问题吗?

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

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

最佳答案

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

session required pam_loginuid.so

这是因为一些 Docker-Centos 安全问题。我没有详细说明为什么会这样。 (查看 this 了解详情。)

此外,解决此问题让我意识到一些可能有用的问题:

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

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

  • 你的脚本和日志文件应该有合适的写入/执行权限

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

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

  • 同时检查 /etc/cron.allow 和/etc/cron.deny 文件来验证谁可以添加/编辑 cron 作业

陌生人,愿的一天投入到更有成果的追求中。

关于python - crontab 不适用于 Centos Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34494570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com