Cron 每分钟只运行一次

Sig*_*Sig 16 linux cron crontab ubuntu

我试图每分钟运行一个脚本(在运行 Ubuntu 16.04 的 Docker 容器上)。

/etc/echo.sh简单地echo单词“喜”

cat /etc/crontab
* * * * *  root /etc/echo.sh > /var/log/cron.log 2>&1


/etc/init.d/cron reload
 * Reloading configuration files for periodic command scheduler cron     [ OK ]

tail -f /var/log/cron.log
hi
Run Code Online (Sandbox Code Playgroud)

打印“hi”一次后,没有任何反应。

任何想法为什么?

Kam*_*ski 55

该脚本每分钟运行一次,但每次都会>截断文件。

如果文件不存在,则创建;否则,打开后将被截断为空文件。

(来源)

>>改为使用附加到文件。

  • 这就是为什么你在测试这样的东西时总是使用`date`而不是`echo hi`。 (23认同)
  • @Ferrybig 如果 `tail` 注意到截断和放回 `hi` 之间的短暂时间,那么它会。在我的 Kubuntu 中,`echo hi > cron.log` 在大约一半的情况下会触发来自 `tail` 的消息。这是一种竞赛条件,因此您(和 OP 的)里程可能会有所不同。 (3认同)
  • @jpmc26 那是什么“日期”?标准的 Unix `date` 默认打印日期和时间。 (3认同)
  • @Barmar 实际上,我已经检查过,显然我对“-I”的使用感到困惑。道歉。 (3认同)