cron 文件中的 * * * * *(五个星号)是什么意思?

cron 文件中的 * * * * *(五个星号)是什么意思?

旧式 crontab 文件中的第一个非注释行以五个星号开头:

* * * * * ([a_command]) >/dev/null 2>&1

作者已经去世了,所以我不知道他们的意图全通配符对于 (Solaris 8) cron 意味着什么? 这里的投注要么进行一次,要么连续进行,要么永不进行,不幸的是,这种投注范围很广。

如果您对此前的注释行感到疑惑,那就是“请勿删除”。

注意:此 cron 文件是在职的. 这个问题是不是有关损坏的 cron 文件或需要故障排除的 cron 文件的重复问题。

答案1

每个月每周每天每分钟,该命令都会运行。

man 5 crontab有这方面的文档。如果你只输入man crontab,你就会得到 crontab 的文档命令。您需要的是手册页的第 5 节,其中涵盖了包括该/etc/crontab文件在内的系统配置文件。为便于将来参考,这些部分在以下位置进行了描述man man

   1   Executable programs or shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

答案2

*= always。它是 cron 计划表达式每个部分的通配符。

所以* * * * *意味着every minuteevery hour的的every dayevery monthevery day的的week

 * * * * *  command to execute
 ┬ ┬ ┬ ┬ ┬
 │ │ │ │ │
 │ │ │ │ │
 │ │ │ │ └───── day of week (0 - 7) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
 │ │ │ └────────── month (1 - 12)
 │ │ └─────────────── day of month (1 - 31)
 │ └──────────────────── hour (0 - 23)
 └───────────────────────── min (0 - 59)

上面精美的绘图由维基百科

另一个例子:

0 * * * *- 这意味着 cron 会在分钟为 1 时始终运行0(因此每小时一次)
0 1 * * *- 这意味着 cron 会在 1 点始终运行。
* 1 * * *- 这意味着 cron 会在小时为 1 时每分钟运行一次。所以1:00,,1:01...。1:59

答案3

First star = Minutes: 0-59
Second star = Hours: 0-23
Third star = Day of Month: 0 - 31
Fourth star = Month: 0 - 12
Fifth star = Day of Week: 0 - 6 (0 means sunday)

假设您想在每个月的 1 号运行某项操作。

0 0 1 * * something.sh

相关内容