【问题标题】:I can't get crontab to run, sudo python3 to run script an issue?我无法让 crontab 运行,sudo python3 运行脚本有问题吗?
【发布时间】:2017-10-20 04:00:46
【问题描述】:

过去两个小时我一直在研究这个主题,但找不到类似的信息。我正在最后一次触摸 LED 标志,我希望它每隔 x 分钟从覆盆子运行脚本以更新标志的信息,假设每 10 分钟一次。我已经用 crontab -e 和 sudo crontab 尝试了一切。我的问题是我必须从 cd my_python 中的目录运行文件(mysign.py),然后从那里我必须使用命令 sudo python3 mysign.py,它不会使用 sudo python 运行。我想知道这是否与它有关?

这是我尝试过的一些方法,以及 @reboot 以及什么都没有。

/10 * * * * /usr/bin/python mysign.py

/10 * * * * /usr/bin/python3 mysign.py

/10 * * * * /usr/bin/python /home/pi/my_python/mysign.py

/10 * * * * /home/pi/my_python/mysign.py

【问题讨论】:

  • 我不认为 crontab 行前面应该有斜线 (/)。
  • 哎呀,我确实没有 / 我的真实代码,只是不小心在这里更新错了!感谢您注意到这一点。

标签: crontab


【解决方案1】:

首先,要每 10 分钟执行一次,您需要使用 */10 ... 而不是 /10 ...

其次,root 的 crontab 中的条目以 root 身份执行,因此它们的主目录不是 /home/pi - 您实际上需要为解释器和脚本指定整个路径:

*/10 * * * * /usr/bin/python3 /home/pi/my_python/mysign.py

确保在根的 crontab (sudo crontab -e) 中设置它。

当然,这假定了您的 python3 解释器和脚本本身的位置,如果这些路径不正确 - 在添加到 crontab 之前更正它们。

【讨论】:

  • 我试过了,但没有用,如果我在文件搜索中搜索 usr/bin/python 或 usr/bin/python,它会显示这个 - 指定目录 '/usr/bin/ python' 无效,这可能是导致它的原因吗?但如果我通过 usr/click bin/ 我可以在那里看到 python 2 和 python 3 /3.4
  • 发出后得到什么:sudo which python3
  • /usr/bin/python3
  • 您可以将您的脚本执行为:sudo /usr/bin/python3 /home/pi/my_python/mysign.py 吗?
  • 那么只要你的脚本工作并且 cron 没有被禁用,上面的 crontab 条目就可以工作。
猜你喜欢
  • 2021-09-27
  • 2014-02-20
  • 2016-03-06
  • 1970-01-01
  • 2012-10-28
  • 2013-06-25
  • 2018-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多