【问题标题】:Running python script from crontab?从 crontab 运行 python 脚本?
【发布时间】:2017-11-20 03:01:39
【问题描述】:

我需要一些帮助来从 crontab 运行 python 脚本:

脚本从当前路径中查找子文件夹并对它们执行一些操作,还将位于脚本同一文件夹中的 zip 文件提取到每个找到的子文件夹中。

当我选择cd /folder/folder 时,python script.py 一切正常。但是当使用 crontab 运行它时,它会在用户主文件夹中运行,而不是在放置脚本的位置。

为了克服这个问题,我在 crontab 中放置了如下内容:

* * * * cd /folder_of_scrpit/ && /python_path/python script.py >> log.txt

根据需要工作,但感觉很奇怪,有没有更好的方法来实现这一点?

【问题讨论】:

    标签: python unix cron


    【解决方案1】:

    您可以按照自己的方式在 crontab 中 cd。或者你可以在你的脚本中调用os.chdir()。在后一种情况下,您可以在脚本中编写目录或将其作为命令行参数传递:/python path/python script.py /folder/folder

    【讨论】:

    • 在 crontab 中使用 cd 时感觉不自然或硬编码,这就是我试图找到更好方法的原因。
    • 在我看来它更自然。但这纯粹是自以为是。 :-)
    • 哦,我忘记包含另外 2 个变体:从环境变量或配置文件中读取目录。我相信你可以自己发明这样的方法。而且我仍然认为对于 shell/cron 中的简单案例 cd 是最简单和最干净的方法。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2017-12-16
    • 1970-01-01
    • 2013-07-05
    • 2018-08-10
    • 2016-03-06
    相关资源
    最近更新 更多