您的位置:

Linux Crontab格式详解及用法

一、Crontab概念介绍

Crontab是一个用于在Linux下自动执行任务的工具,它可以让用户在规定时间内自动运行某个程序或者脚本。在Linux下,Crontab被称为“定时任务器”,很多重要的系统任务都需要通过Crontab来运行。

Crontab是由“cron daemon”掌管的,而Cron daemon是Linux系统的任务调度器,用于运行系统定时任务。当系统启动时,Cron daemon就会启动并且一直运行。

二、Crontab的基本格式

Crontab的基本格式如下:

分  时  天  月  周  要运行的命令或脚本

以五个空格为基本分隔符,分别代表任务运行的时间和要运行的命令。

其中,“分”代表分钟,“时”代表小时,“天”代表一个月中的哪一天,“月”代表一年中的哪一个月,“周”代表一周中的哪一天,取值范围为0~6,0表示星期日,1表示星期一,以此类推。

三、Crontab基本用法

1. 添加任务

要添加任务,需要使用“crontab -e”命令打开Crontab编辑器。

$ crontab -e

然后按照Crontab的基本格式,添加要运行的命令或脚本即可。

例如,我们要在每天的6点40分执行一次“/home/user/test.sh”脚本,可以添加以下一行:

40 6 * * * /home/user/test.sh

保存修改后,Crontab会自动执行任务。

2. 查看任务

要查看已有的任务,需要使用“crontab -l”命令:

$ crontab -l

该命令会列出当前用户的所有Crontab任务。

3. 删除任务

要删除已有的任务,需要使用“crontab -r”命令:

$ crontab -r

该命令会删除当前用户的所有Crontab任务,慎用。

四、Crontab常用选项

Crontab有许多常用选项,下面列举几个常用的选项:

1. -e

使用“-e”选项打开编辑器,添加或修改Crontab任务。

$ crontab -e

2. -r

使用“-r”选项删除所有的Crontab任务。

$ crontab -r

3. -l

使用“-l”选项列出所有的Crontab任务。

$ crontab -l

4. -u

使用“-u”选项指定用户,对指定用户的Crontab进行操作。

$ crontab -u user -l

5. -i

使用“-i”选项在执行删除操作前进行提示。

$ crontab -ir

五、Crontab时间格式

Crontab的时间格式由5个字段组成,分别是分钟、小时、天、月、周,每个字段可以取值的范围都不同,下面是各个字段的取值范围:

1. 分钟

分钟可以从0~59取值。

2. 小时

小时可以从0~23取值。

3. 天

天可以从1~31取值。

4. 月

月可以从1~12取值。

5. 周

周可以从0~6取值,其中0表示星期日,1表示星期一,以此类推。但也可以使用“7”表示星期日。

六、Crontab特殊字符

Crontab支持一些特殊的字符,可以帮助我们更灵活地设置任务时间。

1. *号

“*号”代表每个时间单位,可以用来表示“每小时”、“每天”、“每月”等。

2. ,号

“,号”可以用来表示一个时间单位的多个取值,例如“2,5,8”表示2点、5点、8点都会运行。

3. -号

“-号”可以用来表示一个时间范围,例如“9-17”表示9点到17点都会运行。

4. /号

“/号”可以用来表示一个时间单位的间隔值,例如“*/5”表示每5分钟运行一次。

七、Crontab实例

下面列举几个Crontab的实例:

1. 星期一到星期五每天的10点运行一次脚本

0 10 * * 1-5 /home/user/test.sh

2. 每月的第1天的0点运行一次脚本

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

3. 每20分钟运行一次脚本

*/20 * * * * /home/user/test.sh

4. 每周六的10点运行一次脚本

0 10 * * 6 /home/user/test.sh

八、总结

Crontab作为Linux系统中非常常用的任务调度器,掌握它的基本使用方法以及时间格式十分必要。通过本文的介绍,我们可以更加深入地了解Crontab的使用方法和注意事项。