【问题标题】:python - crontab to run a scriptpython - crontab 运行脚本
【发布时间】:2015-10-05 10:39:38
【问题描述】:

我对 python 还很陌生,我正在尝试通过 python 脚本创建一个 cronjob,但我不断收到错误消息。任何帮助将不胜感激它告诉我我做错了什么?

谢谢

python 脚本

from crontab import CronTab

cron = CronTab(user=True)

job = cron.new(command='python /Users/<useraccount>/Desktop/my_script.py')
job.minute.on(2)
job.hour.on(12)

cron.write()

错误:

Traceback (most recent call last):
  File "/Users/<useraccount>/Desktop/01-python-crontab.py", line 3, in <module>
    cron = CronTab(user=True)
TypeError: __init__() got an unexpected keyword argument 'user'

【问题讨论】:

  • 看起来给user=True 参数无效。你看过crontab 模块的文档吗?

标签: python crontab


【解决方案1】:

问题如下:

出现错误:TypeError: init() 恰好需要 2 个参数

文档:https://pypi.python.org/pypi/python-crontab 帮助解决了问题。

原因: 1 - crontab 未安装 python-crontab

这是完整的代码:

def main(): 
    from crontab import CronTab

    cron = CronTab(user=True)

    job = cron.new(command='python /opt/my_script.py')
    job.minute.on(2)
    job.hour.on(12)

    cron.write()

if __name__ == "__main__":
  main()

【讨论】:

  • 这正是我的问题。卸载 crontab 然后安装 python-crontab 解决了我的问题。
【解决方案2】:

您可能正在使用旧版本的 crontab(请参阅 - 1.4.1 here 的文档)。您可以使用 -

升级到最新版本的 python-crontab
pip install python-crontab --upgrade

或者从here下载1.9.3版本并安装。

如果要使用旧版本,可以传入username作为参数,示例-

cron = CronTab('<username>')

【讨论】:

  • 我使用的是 crontab-0.21.3 而不是 python-crontab。必须“pip uninstall crontab”,然后安装新版本。谢谢。
猜你喜欢
  • 2017-12-16
  • 2017-11-20
  • 1970-01-01
  • 2016-03-06
  • 2011-03-21
  • 2015-09-10
  • 2021-09-10
  • 1970-01-01
相关资源
最近更新 更多