Linux计划任务Crontab学习笔记(2):基本组成与配置

时间:2021-08-29 05:35:51

【Crontab 的基本组成】

① 系统服务 CROND:每分钟都会从配置文件刷新定时任务
② 配置文件 :文件方式设置定时任务
③ 配置工具 crontab:用途调整定时任务
 

【配置文件的配置文件格式】

* * * * * COMMAND

第一个 * :分钟 0 - 59,* 表示每分钟都要执行
第二个 * :小时 0 - 23
第三个 * :日期  1 - 31 
第四个 * :月份 1 - 12
第五个 * :星期 0 - 7(0 或 7 表示星期天)

 【例1】每晚的 21:30 重启 Apache
 

复制代码
代码如下:

30 21 * * * service httpd restart

 

【例2】每月的 1、10、22 日的 4:45 重启 Apache
 

复制代码
代码如下:

45 4 1,10,22 * * service httpd restart

 

【例3】每月 1 到 10 日的 4:45 重启 Apache
 

复制代码
代码如下:

45 4 1-10 * * service httpd restart

 

【例4】每隔两分钟( 前面没有条件 ) 重启 Apache 
 

复制代码
代码如下:

*/2 * * * * service httpd restart

【例5】每个小时的奇数分钟重启 Apache

复制代码
代码如下:

1-59/2 * * * * service httpd restart

 

1 分钟时开始重启

(偶数是0-58/2)

【例6】晚上11 点到早上 7 点之间,每隔 1 小时(前面有条件) 重启 Apache
 

复制代码
代码如下:

0 23-7/1 * * * service httpd restart

注意:分钟用 0,如果用 * ,表示 23 点 到 7 点任何一分钟都执行,显然不是我们想要的结果

 

【例7】每天 18:00 至 23:00 之间 每隔 30 分钟(前面有条件) 重启 Apache
 

复制代码
代码如下:

0,30 18-23 * * * service httpd restart



复制代码
代码如下:

0-59/30 18-23 * * * service httpd restart

 

【小结】

① * 表示任何时候都匹配
② 可以用 "A,B,C" 表示 A 或者 B 或者 C 时执行命令
③ 可以用 "A-B" 表示 A 到 B 之间时执行命令
④ 可以用 "*/A" 表示每 A 分钟(小时等)执行一次命令

【crontab 工具的使用】

crontab 帮助信息
 

复制代码
代码如下:

crontab --h



复制代码
代码如下:

crontab --help

 

 

① 查看某用户(dee)的计划任务列表
 

复制代码
代码如下:

crontab -l -u dee

 

② 修改某用户(dee)的计划任务
 

复制代码
代码如下:

crontab -e -u dee

用 :wq 保存退出(貌似 Ubuntu 系统退出编辑计划任务要复杂一点)

 


③ 查看生成的最终计划任务文件
 

复制代码
代码如下:

- /var/spool/cron

 

使用
 

复制代码
代码如下:

tail -f /var/log/cron

查看 crontan 的日志

 

Linux计划任务Crontab学习笔记(2):基本组成与配置