【问题标题】:Cron task python script not workingCron任务python脚本不起作用
【发布时间】:2014-06-03 07:52:54
【问题描述】:

我有一个 python 脚本,我想在每晚午夜触发。我现在正在使用 cron 调度程序来执行此操作,但是,我无法弄清楚它为什么不起作用。目前,我一直在使用关闭时间(在下一分钟左右)来测试 cronjob,但我最终希望它在午夜工作。

这是我放入 crontab 文件中的内容(运行时间为下午 2:43),托管在我的 ubuntu 机器上:

43 14 * * * root /home/grantmcgovern/Developer/Projects/StudyBug/Main.py

我什至把:

#!user/bin/python 

在所有 .py 文件之上。

我也做过:

chmod +x "scriptname".py

对于每个 .py 文件,仍然没有运气。我错过了一些明显的东西吗?请注意,这是我第一次玩 cron 任务。

【问题讨论】:

  • shebang 行(Python 脚本中的第一行)应该看起来像 #!/usr/bin/python,而不是 #!user/bin/python
  • @bdesham 谢谢你的收获,但还是没有运气。
  • 作为 #!/usr/bin/python ... #!/usr/bin/env python 的替代品
  • 您可以通过在末尾添加> /tmp/mycronlog.log 使其成为43 14 * * * root /home/grantmcgovern/Developer/Projects/StudyBug/Main.py > /tmp/mycronlog.log 来记录执行。日志说什么?
  • 这告诉你你正在尝试运行一个名为 root 的程序。

标签: python cron crontab cron-task


【解决方案1】:

从您当前的 crontab 文件中,您基本上每次都在运行 root /home/grantmcgovern/Developer/Projects/StudyBug/Main.py

如果您想以 root 身份运行它,请使用 sudo crontab -e 并改为使用 43 14 * * * /usr/bin/python /home/grantmcgovern/Developer/Projects/StudyBug/Main.py

【讨论】:

    【解决方案2】:

    我认为它在寻找命令“root”所以语法错误,所以应该是这个......

    43 14 * * * /home/grantmcgovern/Developer/Projects/StudyBug/Main.py

    如果您需要它以 root 身份运行,那么我认为您可以像这样使用 su:

    43 14 * * * su root -c "/home/grantmcgovern/Developer/Projects/StudyBug/Main.py"

    如果您将其添加到系统 crontab 中,那么我认为无论如何都会这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-06
      • 2014-10-12
      相关资源
      最近更新 更多