我在 crontab -e 中有以下条目,它应该每天上午 11 点运行一个 python 脚本并将输出转储到 log.txt:
0 11 * * * /usr/bin/python3 /var/www/folder/python/script.py > /var/www/folder/python/logs/log.txt
log.txt 文件一直在创建,但没有任何内容写入其中。据我所知,尽管从终端直接运行 python 脚本时可以正常工作,但该脚本根本没有运行。
我的 cron 语法是否存在问题或者我是否遗漏了其他内容?
答案1
由于/var/www/folder/python/logs/log.txt
正在创建,这意味着 shell 重定向正在按预期发生,因此它似乎正在执行命令,尽管没有成功。您也可以stderr
通过修改 cron 条目将其发送到日志:
0 11 * * * /usr/bin/python3 /var/www/folder/python/script.py > /var/www/folder/python/logs/log.txt 2>&1
您可能也想检查一下;如果它的行为与手动运行时不同,那么/var/mail/$USER
可能会有信息输出。stderr
/usr/bin/python3 /var/www/folder/python/script.py