在Linux中,使用cron
来进行任务计划时,任务的调度表达式是由六个字段组成的,其中前五个字段用来指定时间频率,最后一个字段用于指定要执行的命令。下面详细解释这五个时间字段的含义:
- 分钟 (Minutes):范围从0到59。这代表每小时的哪一分钟。例如,
0
表示整点,15
表示每小时的第15分钟。 - 小时 (Hours):范围从0到23。这代表一天中的哪一小时。
0
等同于午夜,12
表示中午,23
则是一天的最后一小时。 - 日 (Day of Month):范围从1到31。这代表一个月中的哪一天。需要注意的是,不是每个月都有31天,因此某些值可能在某些月份无效。
- 月份 (Month):范围从1到12。这代表一年中的哪一月。
1
表示一月,12
表示十二月。 - 星期几 (Day of Week):范围从0到6。
0
和7
都表示星期日,1
表示星期一,以此类推直到6
表示星期六。在某些情况下,星期几也可以使用缩写来表示,如SUN
、MON
、TUE
等。
第六个字段是命令或脚本的路径,当满足前面五个时间条件时,cron
守护进程就会执行这个命令或脚本。
示例说明
例如,下面是一个典型的cron
任务表达式:
* * * * * command
这表示每分钟执行一次command
。
再例如:
0 0 * * * command
这表示每天午夜(0点)执行一次command
。
另一个例子:
30 4 1,15 * 1-5 /usr/bin/command arg1 arg2
这表示在每个月的1日和15日的04:30,在周一至周五执行/usr/bin/command
,并传入arg1
和arg2
作为参数。
在cron
表达式中,除了具体的数字之外,还可以使用一些特殊符号来表示更复杂的模式:
*
表示“任何值”。,
可以用来列举多个值,如1,15
表示1或15。-
可以用来表示一个范围,如1-5
表示1到5之间的任何值。/
可以用来指定增量,如*/5
表示每隔5个单位(如每隔5分钟)。
综上所述,了解这些基本的cron
表达式格式对于有效地管理Linux系统上的定时任务至关重要。