【问题标题】:Crontab cannot executecrontab 无法执行
【发布时间】:2020-07-27 15:57:22
【问题描述】:

我尝试使用crontab每天执行我的py文件,但它只能创建空日志文件

0 8 * * * /usr/local/bin/python3 /Users/UserName/Downloads/Crawling_1.py > /Users/UserName/Downloads/log.log

然后我尝试使用SHELL文件执行一个简单的需求,如果我将日志文件设置放在.sh文件中,则没有创建日志文件。同样,当我将python3需求放入SHELL文件时,crontab没有执行。

echo 1 > /Users/UserName/Downloads/new_log.log > /Users/UserName/Downloads/log.log

但是如果我直接在 Crontab 中运行 echo 就可以完美运行了。

* * * * * echo 1 > /Users/UserName/Downloads/new_log.log

有人知道为什么会这样吗?非常感谢。

【问题讨论】:

  • > 覆盖现有数据。你应该使用>>。但您也应该确保您的工具可以执行。查看 cronttab 的错误消息(系统日志或电子邮件)。我假设你错过了一些环境变量(例如 python 模块在哪里)

标签: linux shell cron


【解决方案1】:

试试>>:

0 8 * * * /usr/local/bin/python3 /Users/UserName/Downloads/Crawling_1.py >> /Users/UserName/Downloads/log.log

然后使用>>,如果文件不存在,它将创建一个文件。如果文件存在,则追加到文件末尾。

使用>,如果文件存在,整个文件将替换它。如果文件不存在*,则什么也不会发生。

您也可以使用> 执行该命令,但请确保您将在其中写入的.log 文件存在!

【讨论】:

  • 我也试过>>,但是这两个符号都不能在 SHELL 脚本中工作。
猜你喜欢
  • 1970-01-01
  • 2012-10-26
  • 2011-09-15
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2015-06-28
  • 2019-08-14
  • 1970-01-01
相关资源
最近更新 更多