我已将 crontab 配置为具有以下条目:
*/2 * * * * source /home/ubuntu/cronenv/python2.7/bin/activate && python /home/ubuntu/trial.py >> /var/log/mycron/trial.log 2>&1 && deactivate
通过跟踪 /var/log/syslog 文件,我可以验证 cron 是否每两分钟运行一次。这是 /var/log/syslog 中每两分钟的条目
Nov 8 10:52:01 ip-172-31-0-41 CRON[2023]: (ubuntu) CMD (source /home/ubuntu/cronenv/python2.7/bin/activate && python /home/ubuntu/trial.py >> /var/log/mycron/trial.log 2>&1 && deactivate)
通过在终端中运行命令,它会按预期运行并创建试用日志文件输入/var/log/mycron/
该文件夹具有所有必需的权限,如下所示:
drwxrwxrwx 2 root root 4096 Nov 8 11:02 mycron
请帮我解决这个问题。
答案1
看起来很可能source
出现故障,因此&&
短路。尝试将 stderr/out 从第一个文件重定向到一个文件source
,您应该会看到错误。
如果trial.py
运行了,您至少应该看到trial.log
shell 创建了它。事实上,它没有创建,这表明该代码从未运行过。