“* */1 * * *”cron 条目的含义?

xyz*_*xyz 16 cron

不知何故,我发现很难理解*使用 cron调整参数。

我想要一个每小时运行一次的工作,我使用了以下设置:

* */1 * * *
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有完成这项工作。有人可以解释一下上面的含义以及工作需要什么吗?

man*_*ork 26

  • *意味着每个.
  • */n表示每 n 个。(所以*/1意味着每 1。)

如果您只想每小时运行一次,则必须将第一项设置为其他内容 then *,例如20 * * * *每小时在第 20 分钟运行一次。

或者,如果您有权写入 /etc/cron.hourly/(或系统上的任何内容),那么您可以在那里放置一个脚本。

  • `n` 表示正好在 _n_。如上所述,20 表示_在 20_ 分钟。`1/n` 表示 _从 1 开始,每第 n 个_。然而,在实践中,这被用作“1-2/n”,这意味着 _in 间隔从 1 到 2,每 nth_。(请注意,并非所有 `cron` 实现都支持间隔。) (8认同)
  • +1 只是将它放在任何现代机器上的 `/etc/cron.hourly` 中。我们等了几十年,这就是它的目的! (5认同)

dr_*_*dr_ 7

*/1是多余的,你应该使用*来代替。

* */1 * * *
Run Code Online (Sandbox Code Playgroud)

不是每小时运行一次作业,而是每分钟运行一次!
要每小时(在 1:00、2:00 等)运行一个作业,请使用

0 * * * *  
Run Code Online (Sandbox Code Playgroud)