尝试找出脚本在 Cron 中无法正常运行的原因。
设置 shell 每分钟调用一个 *.py 文件,其中包含以下内容(删除了开头和结尾 # 行):
* * * * * python /root/job.sh
job.sh 运行一个 *.py 文件,该文件检查 I2C 温度模块并将结果发送到 Ubidots。手动操作效果很好。尝试重新启动 Cron(启动、启用和重新启动)以及其他一些变体,例如添加用户名和 job.sh 的完整路径。
该文件具有以下属性(还尝试了 chmod a+x、u+x、755、666 等):
-rwx--x--x 1 root root 62 七月 21 15:07 job.sh
检查 logread 表明 cron 正在运行:
Fri Jul 21 15:38:00 2017 cron.info crond[3464]: USER root pid 3491 cmd /root/job.sh
创建了一个日志文件并将输出定向到其中,内容如下:
* * * * * python /root/job.sh >/root/test1.log 2>&1
文件中的输出包含以下内容:
-ash: crontab.txt: not found
但是 crontab.txt 在/etc/crontabs 中作为 root(文件名)列出,其中列出了作业。
关于接下来要尝试什么有什么想法吗?只是不要让脚本在启动后无限循环地运行。
最佳答案
由 crontab 文件中的换行符引起的问题。使用 crontab -e
删除阻止其成功运行的 ^M
。
关于python - Cron 作业生成 crontab.txt : not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45266337/