Cron 作业生成 crontab.txt:未找到

Cron 作业生成 crontab.txt:未找到

尝试找出脚本在 Cron 中无法正常运行的原因。

设置 shell 每分钟调用一个 *.py 文件,其中包含以下内容(删除了开头和结尾 # 行):

* * * * * python /root/job.sh 

job.sh 运行一个 *.py 文件,该文件检查 I2C 温度模块并将结果发送到 Ubidots。手动操作效果很好。尝试重新启动 Cron(启动、启用和重新启动)以及其他一些变体,例如添加用户名和 job.sh 的完整路径。

这是脚本:

    #!/usr/bin/env python 
    python /root/temperature-monitor/main.py

该文件具有以下属性(还尝试了 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 中作为 root(文件名)列出,其中列出了作业。

关于下一步要尝试什么有什么想法吗?只是不要让脚本在启动后无限循环运行。

答案1

从 crontab 中,您调用 python 来运行 shell 脚本(这不是 python 脚本)。将 python 更改为 sh (或 ash 或 bash),我想您会发现它效果更好。

答案2

您不需要python放入crontab.它是一个 shell 脚本,并且 python 从脚本内部运行。由于该脚本是可执行的并且具有 shebang 行,因此您可以将脚本本身作为命令执行。

* * * * * /root/job.sh

相关内容