【问题标题】:python - working with crontabpython - 使用 crontab
【发布时间】:2015-07-02 07:19:58
【问题描述】:

我对 python 还很陌生。一些谷歌搜索让我进入了这个模块https://pypi.python.org/pypi/python-crontab。我已经设置了我的环境并安装了 python-crontab==1.9.3。但我不断收到错误。我究竟做错了什么?任何帮助将不胜感激。我正在尝试使用示例,但它们似乎对我不起作用。

我想做的是:

  • 将 cron 作业添加到 cron 选项卡

终端错误输出:

    Traceback (most recent call last):
      File "test5.py", line 5, in <module>
        users_cron    = CronTab(user='testuser')
      File "/Users/testuser/Desktop/sample1/prj-env/lib/python2.7/site-packages/crontab.py", line 187, in __init__
        self.read(tabfile)
      File "/Users/testuser/Desktop/sample1/prj-env/lib/python2.7/site-packages/crontab.py", line 231, in read
        raise IOError("Read crontab %s: %s" % (self.user, err))
    IOError: Read crontab testuser: crontab: must be privileged to use -u

【问题讨论】:

  • 您需要以 root 身份运行它。非特权用户只能在自己的 crontab 上工作。

标签: python crontab


【解决方案1】:
users_cron    = CronTab(user='testuser')

您似乎正在尝试为用户“testuser”创建一个 cronjob。

IOError: Read crontab testuser: crontab: must be privileged to use -u

错误告诉您,您需要成为特权用户才能执行此操作。尝试使用 'sudo' 运行您的脚本:

sudo python my_python_script.py

Reference

【讨论】:

    【解决方案2】:

    您正在尝试访问特定用户的 crontab,如果没有 root 访问权限,则无法在基本系统(这是 python 模块尝试使用的)上执行此操作。如果您想获得自己的 crontab,请执行以下操作:

    users_cron = CronTab(user=True)
    

    【讨论】:

      【解决方案3】:

      您也可以使用plan,这是从 python 为 crontab 编写 cron 作业的更简单方法:

      from plan import Plan
      
      cron = Plan()
      
      cron.command('ls /tmp', every='1.day', at='12:00')
      cron.command('pwd', every='2.month')
      cron.command('date', every='weekend')
      
      if __name__ == '__main__':
          cron.run()
      

      docs中查看更多信息

      【讨论】:

        猜你喜欢
        • 2013-09-02
        • 2013-07-30
        • 2014-07-17
        • 2021-10-04
        • 1970-01-01
        • 2016-11-28
        • 2021-05-25
        • 2021-09-10
        • 1970-01-01
        相关资源
        最近更新 更多