您的位置:

Linux定时任务设置——Cron格式说明

一、Cron简介

Cron是一个Linux系统下的定时任务工具,可以实现在指定的时间点或者时间间隔下自动化执行某一段脚本或者命令。Cron是指在“一定时间间隔”内执行的一个“前台进程”,不像通过/etc/rc.d/rc.local启动的进程属于后台进程。Cron命令用于周期性的执行某种指令或者脚本,非常适用于需要定期执行某项任务的场景,比如备份数据、定期统计等。

二、Cron的基本格式

Cron定时任务的格式为5个部分,分别是:分钟、小时、日、月、周,每个部分用空格分开,如下所示:

*     *     *     *     *
分    时    日    月    周

其中,星号“*”表示任何时间,而具体的数字则表示对应的时间点或者时间间隔。例如,时部分如果写成“2-5”,表示在每天的2点到5点之间执行。

三、分钟、小时、日、月、周的取值范围

各个部分的取值范围如下:

  • 分钟:0-59
  • 小时:0-23
  • 日:1-31
  • 月:1-12
  • 周:0-6(0代表周日)

例如,如下代码表示在每天的上午9点30分执行命令:

30 9 * * *

四、常用的特殊符号

Cron中常用的几个特殊符号如下:

  • 星号(*):表示所有值。如“* * * * *”表示每分钟都执行。
  • 逗号(,):表示多个值。如“1,3,5”表示1、3、5点执行。
  • 斜杠(/):表示时间间隔。如“*/5 * * * *”表示每隔5分钟执行。
  • 连字符(-):表示时间段。如“10-12 * * * *”表示10点到12点之间执行。

五、实例应用

1. 每天定时执行备份脚本

假设我们的备份脚本为/home/user/backup.sh,希望每天晚上的11点30分执行该脚本,我们需要在Cron中添加如下一行代码:

30 23 * * * /home/user/backup.sh

以上代码表示在每天晚上11点30分执行/home/user/backup.sh。

2. 每小时执行一次统计脚本

假设我们的统计脚本为/home/user/stat.sh,希望每小时执行一次该脚本,我们需要在Cron中添加如下一行代码:

0 * * * * /home/user/stat.sh

以上代码表示每小时的0分时执行/home/user/stat.sh。

3. 每周五晚上9点执行清理脚本

假设我们的清理脚本为/home/user/clean.sh,希望每周五晚上9点执行该脚本,我们需要在Cron中添加如下一行代码:

0 21 * * 5 /home/user/clean.sh

以上代码表示在每周五的21点执行/home/user/clean.sh。

4. 每月1号凌晨2点执行脚本

假设我们的脚本为/home/user/test.sh,希望每个月1号凌晨2点执行该脚本,我们需要在Cron中添加如下一行代码:

0 2 1 * * /home/user/test.sh

以上代码表示在每个月的1号凌晨2点执行/home/user/test.sh。

六、小结

Cron是一种非常方便的定时任务工具,可以帮助我们自动化执行某些特定的脚本或者命令。本文简单介绍了Cron的基本格式以及常用的特殊符号,并给出了4个实例应用,希望能够帮助读者更好地理解和使用Cron。