【问题标题】:Cron job generates crontab.txt: not foundCron 作业生成 crontab.txt:未找到
【发布时间】: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


【解决方案1】:

由 crontab 文件中的换行符引起的问题。使用crontab -e 删除了阻止其成功运行的^M

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多