【问题标题】:Running python scripts consecutively in Crontab在 Crontab 中连续运行 python 脚本
【发布时间】:2017-05-15 16:29:16
【问题描述】:

我试图每分钟一个接一个地运行我的脚本编译。 示例:假设每个脚本需要 2 秒才能完成:

在 1:00 开始脚本 1,在 1:02 开始脚本 2,在 1:04 开始脚本 3,等等......

我认为它应该看起来像这样

*/1 * * * * python script1.py && python script2.py && python script3.py

【问题讨论】:

  • 您的假设应该按预期工作。你没试过吗?我只建议将您的日程安排简化为* * * * *,它也会每分钟触发一次。

标签: python linux ubuntu web-scraping crontab


【解决方案1】:

你的 cron 条目没问题。

您可能希望创建一个包装脚本,按顺序调用所有脚本。

【讨论】:

    【解决方案2】:

    您的 cron 条目应该可以工作。但是,您可能会注意到它可能会失败,因为您没有为脚本指定绝对路径。

    【讨论】:

    • 在哪里可以查看脚本的日志?或者像终端中脚本的python shell
    • 如果您所说的log 是脚本的标准输出,那么您需要将stdout 重定向到日志文件。默认情况下,您应该在任务执行时收到一封邮件。只需在控制台中输入mail 即可查看您的邮件。
    【解决方案3】:
    * * * * * python /path/to/script1.py ; python /path/to/script2.py ; python /path/to/script3.py
    

    如果您只想在第一个脚本成功(退出代码为 0)时运行第二个脚本,请使用 &&

    如果您想始终运行第二个脚本而不考虑第一个脚本的退出代码,请使用 ;

    始终在 crontab 中提供脚本的完整路径

    【讨论】:

    • 正确。 Cron 不会加载用户的配置文件。但是,at 会加载配置文件。
    猜你喜欢
    • 2015-10-05
    • 2017-12-16
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2011-03-21
    相关资源
    最近更新 更多