【问题标题】:schedule python script through crontab通过 crontab 调度 python 脚本
【发布时间】:2012-06-10 19:32:04
【问题描述】:

我正在尝试使用以下几行将 python 脚本添加到 crontab:

0 * * * * /pathtoexecutable/file.py
0 0 1 * 1 /pathtoexecutable/file2.py

文件是可执行的 python 脚本。

file.py 进一步启动大约 15 个子进程,这些子进程将信息存储在 MySQL 数据库中。

file2.py 显然也通过 crontab 执行。

由于某种原因,file.py 不能通过 crontab 工作,但如果我通过命令行运行它,它就可以工作。

【问题讨论】:

  • 你激活登录cron了吗?日志中有什么内容?

标签: python unix cron crontab


【解决方案1】:

1) 捕捉脚本的输出和错误:.

0 * * * * /pathtoexecutable/file.py &>> /path/some/log.txt
0 0 1 * 1 /pathtoexecutable/file2.py &>> /path/some/log2.txt

2) 确保每个 python 文件都以 shebang 开头:#! /usr/bin/env python

3) 还要确保每个 python 文件都有一个 exec 模式 (chmod +x file.py)

【讨论】:

  • 日志中什么都没有。它们是空白的,你错过了>>我猜在两者之间……尝试了 2>&1 >> /path/some/log 和 2>&1 /path/some /log 里面什么都没有,python 文件以 shebang 开头。我可以从命令行执行它们而无需显式指定解释器它们有 777 权限
  • 没问题,Zahsas。我现在让它工作了,虽然我不明白.. 修改命令以包括解释器.. 脚本包含 shebang 但它们仍然不直接从 cron 执行。它们通过在 /usr/local/bin 中指定解释器来工作。谢谢你的时间。赞赏!
猜你喜欢
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
  • 2014-08-09
  • 2018-06-26
  • 2015-10-14
  • 2017-02-05
相关资源
最近更新 更多