如何在LINUX上使用cron运行python脚本

问题描述 投票:0回答:1

我正在尝试使用cron在我的raspberrypi上运行python脚本。

我做了以下事情:

crontab -e # To edit a crontab job

打开cron文件后,我添加了以下行:

@reboot /usr/bin/python /home/pi/path/to/file/example.py > /home/pi/cronlogs/mylog.log # JOB_ID_!

如果我正确理解文档,那么每次系统启动后都应执行此cron作业。但是在我的情况下,当我重新启动计算机时,脚本将不会被执行。

奇怪的是:

  • 我检查了日志文件,它是空的,所以看起来一切都很顺利
  • 如果我手动运行给定的命令(所以基本上将以下代码写入终端)它执行并正常工作:/usr/bin/python /home/pi/path/to/file/example.py > /home/pi/cronlogs/mylog.log

我想我错过了一些非常明显的东西,但我看不到它。我可以请求任何建议如何调试这个。谢谢!

python cron
1个回答
0
投票

cron定义看起来正确;我刚刚在运行Debian伸展的Pi上检查了这个,它运行正常:

@reboot /usr/bin/python /home/pi/example.py > /home/pi/mylog.log

其他一些可能的原因可能不起作用:

  • 工作目录问题(如果您使用相对路径)
  • 一个长时间运行的脚本(作为一个可能需要一段时间才能完成的抓取脚本) - 您可以使用ps aux | grep python检查它是否仍在运行
  • 脚本不输出任何内容(需要有关脚本的更多详细信息)

为了确保从脚本中捕获任何错误,使用2>&1将stderr重定向到stdout

© www.soinside.com 2019 - 2024. All rights reserved.