【问题标题】:Crontab and scriptcrontab 和脚本
【发布时间】:2012-07-05 01:13:19
【问题描述】:

我有 debian linux。我从用户crontab -e 创建了这段文字:

0   * * * * python /home/user/CronLogic.py
15  * * * * python /home/user/CronLogic.py
30  * * * * python /home/user/CronLogic.py
45  * * * * python /home/user/CronLogic.py

*/1 * * * * date > /tmp/TEST

最后一个字符串运行良好,但运行 python 脚本失败:

/bin/sh: 1: /usr/bin/rcssserver: not found

代码是:

#!/usr/bin/python
cmd ='/usr/bin/rcssserver'
err = open('CronLogicERRORS', 'a')
server = subprocess.Popen(cmdRes, shell=True, stderr=err)

并且错误出现在CronLogicERRORS 文件中。这里有什么问题?没有 cron 脚本运行良好。

【问题讨论】:

  • Python 变量是 cmdcmdRes 传递给子进程。可能值得在子进程中避免使用 shell?
  • 好吧,从给定的例子来看,Python 并不是真正需要的。也许 OP 没有显示整个 Python 脚本。

标签: python linux cron sh


【解决方案1】:
cmd ='/usr/bin/rcssserver'
#                ^^^ Too many s's

现在,关于您的cron 使用情况:

不要有 4 次相同的行,而是将其改为 0,15,30,45 的一行,或者更好的是 */15。你的*/1 是多余的,只是简单的* 更好。

【讨论】:

  • 感谢您的提示。我写道,这个脚本在我们的 cron 下运行正常;)二进制文件的名称是准确的。
猜你喜欢
  • 2013-08-30
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 2017-01-01
  • 1970-01-01
  • 2015-10-05
相关资源
最近更新 更多