【问题标题】:Crontab schedule not runningcrontab 计划未运行
【发布时间】:2020-05-18 10:07:52
【问题描述】:

所以我尝试使用 crontab 让一些 python 脚本每 6 小时运行一次,但由于某种原因它不起作用。

crontab -l

0 */6 * * * cd /home/david/InstaPy && /usr/bin/python3 quickstart.py
>> david.log

还尝试每分钟运行一次以进行检查,但这也不起作用。查看了 crontab 日志文件,也没有看到它正在执行 - var/log/syslog

【问题讨论】:

  • 检查您的用户对文件和违禁品的权限
  • 允许用户使用 crontab 我使用touch /etc/cron.allow 然后使用echo "david" > /etc/cron.allow 允许用户名david 运行它。
  • 函数是否有足够的时间自行执行?
  • 对不起,我没听懂你的问题。
  • /home/david/InstaPy 存在吗?如果没有,脚本将静默退出。

标签: python cron cron-task


【解决方案1】:

用户 crontab:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)
# |  |  |  |  |
# *  *  *  *  *   command to be executed

1- 首先,我建议您执行该过程:

0 */6 * * * cd /home/david/InstaPy && python3 /yourpath/quickstart.py

2-确保文件具有执行权限。

chmod +x /path/to/file

3-检查您的密码是否过期。一旦密码过期,所有 cron 作业都会停止

4- 尝试重定向进程的输出:

0 */6 * * * cd /home/david/InstaPy && /usr/bin/python3 quickstart.py >> /whateverpath/sample.log 2>&1

5- 检查您的环境变量:

0 */6 * * * . $HOME/.profile; /path/to/command/to/run

在这种情况下,它将选择您的 `$HOME/.profile 文件中定义的所有环境变量。

【讨论】:

  • 1.我确实尝试使用以下1 * * * * cd /home/david/InstaPy && python3 /home/david/InstaPy/quickstart.py >> /home/david/instapy.log 2>&1 执行该过程。将其复制粘贴到终端时,脚本将毫无问题地启动。 2. 我给了文件执行权限chmod +x /home/david/InstaPy/quickstart.py 3. 密码没有过期。 4. 现在的路径是1 * * * * cd /home/david/InstaPy && python3 /home/david/InstaPy/quickstart.py >> /home/david/instapy.log 2>&1 5. 0: command not found 然后它显示 Python 3.8.2 >>>` 还有什么我可以尝试做的吗?
  • 我认为您的问题与环境变量有关,interactive-shells 和 login-shells-non-login-shell 之间存在差异。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2018-07-17
  • 1970-01-01
相关资源
最近更新 更多