【问题标题】:Running a Python Script using Cron?使用 Cron 运行 Python 脚本?
【发布时间】:2011-05-28 01:16:55
【问题描述】:

我有一个要添加到 cron 的 python 脚本。

脚本有 +x 权限。

如何将它添加到 crontab? (比如说,我希望它每分钟运行一次)。

重要提示:当我(使用 shell)导航到脚本的文件夹时,我无法使用“./script_name.py”运行它;它不起作用。然而,当我使用“Python script_name.py”运行它时,一切正常。

【问题讨论】:

    标签: python linux cron ubuntu-10.04


    【解决方案1】:

    来自cron,您应该以script_name.py 运行脚本,并且您的脚本满足以下条件:

    • 可执行位已设置
    • 脚本的 hash-bang 设置正确,例如。 #!/usr/bin/env python
    • 可从PATH 访问
      • 例如将其放在/usr/local/bin//opt/local/bin/ 中(您的系统可以访问它们PATH。)

    如果满足这些条件,您应该可以在本地系统的任何位置以script_name.py 身份运行它

    【讨论】:

    • 谢谢。如果脚本位于不同的区域(不在 '/usr/local/bin/' 或 '/opt/local/bin/' 中)怎么办?我有什么办法让它运行吗?
    • 当然,但是您仍然必须将它的文件夹位置添加到您的 PATH 中,我建议这些位置的原因是因为这是您的可选/用户本地系统箱/脚本应该存在的地方(历史上)。但是你没有理由不能使用另一个文件夹,你也可以在你的 crontab 中使用绝对路径名/myfolder/sub/bin/etc/wherever/script_name.py 调用脚本。这不是传统的做法,因此如果该系统需要由其他人(或您将来)管理,则会造成混乱
    • 感谢您的帮助。我尝试这样做,脚本似乎通过 cron 工作,但由于某种原因,几秒钟后停止。更多信息在这里:stackoverflow.com/questions/4487145/…你碰巧知道我错过了什么吗?
    • 我看了另一个问题,那里的 cmets 有我自己会建议的东西。特别是尝试使用logging 来捕捉正在发生的事情。
    • 我重新启动了计算机,现在一切正常。感谢您的帮助!
    猜你喜欢
    • 2011-05-26
    • 2015-03-16
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2016-08-14
    相关资源
    最近更新 更多