【发布时间】:2017-07-25 11:43:54
【问题描述】:
试图找出脚本在 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 Jul 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 中作为根(文件名)列出,其中列出了作业。
对接下来要尝试什么有什么想法吗?只是不要让脚本在启动后无限循环运行。
【问题讨论】:
-
/etc/crontabS?另外,它是否列出了完整路径?
-
根文件所在的 pwd 指示的完整路径:/etc/crontabs
-
job.sh 是用 bash 还是 python 写的?
-
Job.sh 通过
#!/usr/bin/env python python /root/temperature-monitor/main.py调用python 程序。让它测试 cron。
标签: python linux bash shell cron