![cron 文件中的 * * * * *(五个星号)是什么意思?](https://linux22.com/image/519319/cron%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%20*%20*%20*%20*%20*%EF%BC%88%E4%BA%94%E4%B8%AA%E6%98%9F%E5%8F%B7%EF%BC%89%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F.png)
旧式 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 minute
的every hour
的的every day
的every month
和every 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