crontab语法和使用示例

文章目录

        • 基本语法
        • 执行规则
        • 特殊符号

Linux定时任务一般使用crond服务,系统一般默认安装有定时任务crond服务:

service crond status

基本语法

crontab [选项]

-e : 编辑或添加定时任务

-l : 查看系统的定时任务

-r : 删除当前用户所有的定时任务

示例:

[root@hadoop103 xiaomao]# crontab -l
*/10 * * * * /usr/sbin/ntpdate hadoop101

有一个定时任务,是每过10分钟,执行/usr/sbin/ntpdate hadoop101 命令

该命令作用是去hadoop101机器更新时间(不在本文讨论范围)。

执行规则

定时任务 有5个 * : * * * * *, 后边跟上要执行的具体任务。

项目 含义 范围
第一个“*” 一小时中的第几分钟 0-59
第二个“*” 一天当中的第几个小时 0-23
第三个“*” 一个月中的第几天 1-31
第四个“*” 一年中的第几月 1-12
第五个“*” 一周中的星期几 0-7(0和7都代表星期日)

示例:

45 22 * * * 	 #在每天的22点执行
 0 17 * * 1		 #每周一的17点0分执行,此时周优先级高于天,所以虽然天设置为* ,但并不是每天,每周一执行。 

特殊符号

符号 含义
* 代表任何时间,比如第一个“*”,代表一个小时的每分钟都执行一次
, 代表连续的时间。比如:“08,12,16 * * * ” 表示在每天的8点0分,
12点0分,16点0分都执行一次
- 代表连续的时间范围。比如 “0 5 * * 1-6” ,表示在周一到周六的凌晨5点0分执行
/n 代表每隔多久执行一次。比如:“*/10 * * * * ” 代表每隔10分钟执行一次

示例:

*/10 4 * * *  #每天的凌晨4点,每10分钟执行一次。结果会是执行6次。
40 4 * * 1-5  #每周一到周五凌晨4点40分执行一次
0 0 1,15 * 1  #每月1号和15号,每周一的0点0分执行命令。注意星期几和几号最好不要同时出现,因为都是代表天,很容易混乱。

你可能感兴趣的:(Linux,linux)