试图通过crontab运行脚本无效

时间:2017-08-22 16:09:41

标签: linux ubuntu cron

我遇到问题让我的crontab运行我将以下行添加到我的crontab -e但它无法启动。如果我手动运行它,该命令运行正常。

0 */3 * * * cd /home/sam/p/ && /usr/bin/python3.5 start.py

没有收到任何错误消息,当我为它运行top或grep时看不到该过程。

2 个答案:

答案 0 :(得分:0)

通常会发生这种情况,因为cron环境与您自己的环境不同。确保您的start.py脚本使用任何引用文件或外部脚本的完整路径。确保您的start.py脚本不依赖于shell中的环境变量,但可能不依赖于。尝试将cron输出传递给mail命令,这样你就可以看到它在做什么,如下所示:

0 */3 * * * cd /home/sam/p/ && /usr/bin/python3.5 start.py | mail -s "cron output" myself@example.com

答案 1 :(得分:0)

解决此问题的一种更简单方法是编写包装器shell脚本并将输出发送到日志文件。

  1. 使用内容
  2. 创建文件python_start_cron.sh
    #!/bin/bash
    cd /home/sam/p/ && /usr/bin/python3.5 start.py
    
    1. 在此脚本脚本上设置执行位,并确保脚本可以手动工作
    2. 修改cronjob,如下所示
    3. 0 */3 * * * python_start_cron.sh >/tmp/python_start_cron.log 2>&1
      

      执行cron后,检查日志文件的内容以确定问题的原因。