那些年的记忆

习惯改变行为,行为决定命运。

Crontab详解

1. Crontab是什么?

Crontab是一个用于设置周期性被执行的任务的工具。

使用场景:

每分钟需要执行一个程序检查每户运行状态

每天凌晨需要对过去一天的业务数据进行统计

每个星期需要把日志文件备份

每个月需要把数据库进行备份

等等。。。


2. 常用命令:

检查服务是否启动:

service crond status

查看列表:

crontab -l

编辑列表:

crontab -e

查看日志:

tail -f /var/log/cron


3. Crontab的基本组成

系统服务 crond 每分钟都会从配置文件刷新定时任务

配置文件 /etc/crontab

配置工具 crontab 用于调整定时任务


4. Crontab的配置文件格式

* * * * * 命令


分时日月周

第一个*号:表示分钟0~59

第二个*号:表示小时0~23

第三个*号:表示日期1~31

第四个*号:表示月份1~12

第五个*号:表示星期0~7 (0或7都表示星期天)


例如:

每分钟打印当前时间到日志文件

*/1 * * * * date >> /tmp/log.txt

每晚的21:30分重启apache

30 21 * * * service httpd restart

每月的1、10、22日的4:45重启apache

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

每月的1到10日的4:45重启apache

45 4 1-10 * * service httpd restart

每隔2分钟重启apache服务

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

晚上11点到早上7点之间,每隔1小时重启apache服务

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

每天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分钟(小时等)执行一次命令


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。