cron 作业没有日志输出

cron 作业没有日志输出

我已通过 设置了下面的 cron 作业crontab -e。我已尝试执行了以下所有建议为什么 crontab 脚本不起作用?,但没有任何帮助。运行 时,系统显然正在运行sudo grep CRON /var/log/syslog。该文件run_extraction.sh顶部有 shebang,并具有 的执行权限chmod +x。正在创建日志文件,但未添加任何内容。更重要的是,python 脚本似乎没有运行,因为它没有创建任何输出。从命令行运行时,bash 脚本可以工作。

我考虑过设置环境变量,但考虑到甚至echo $USER没有产生日志输出,似乎存在更根本的问题。有什么想法吗?

grep 输出

Aug  6 15:41:01 scalablegpu3 CRON[13723]: (myuser) CMD (/raid/myuser/database_extraction/run_extraction  >> /raid/myuser/database_extraction/extraction.log)
Aug  6 15:42:01 scalablegpu3 CRON[13730]: (myuser) CMD (/raid/myuser/database_extraction/run_extraction  >> /raid/myuser/database_extraction/extraction.log)

Crontab 条目

* * * * * /raid/myuser/database_extraction/run_extraction  >> /raid/myuser/database_extraction/extraction.log

Bash 文件

#!/bin/bash
echo $USER
python database_extraction.py

答案1

你可能已经看了太久了。(相信我,我看过了)
shell 脚本是run_extraction.sh,但是在 crontab 条目中,你缺少“.sh”。它应该看起来像:

* * * * * /raid/myuser/database_extraction/run_extraction.sh  >> /raid/myuser/database_extraction/extraction.log

如果您希望记录 stderr 和 stdout,您可能希望在末尾添加重定向(这将有助于进一步调试):

* * * * * /raid/myuser/database_extraction/run_extraction.sh  >> /raid/myuser/database_extraction/extraction.log 2>&1

相关内容