crontab

;每天早晚8点同步授时中心的时间
0 8,20 * * * ntpdate asia.pool.ntp.org >> /script/crontab.log

;每1分钟执行一次shell脚本,检测server的master进程是否存活,如果存在则跳过。如果发现主进程已经挂掉,则执行restart逻辑,先kill掉所有残留的子进程,然后重新启动Server。
*/1 * * * * /script/check_system_server.sh

;每天0点到8点每4小时执行一次reload.sh 保持mysql不断线
* 0-8/4 * * * /script/reload.sh

;每天下午3点执行
* 15 * * * /usr/local/php/bin/php /script/t.php >> /script/crontab.log

说明:
systemctl start crond
systemctl stop crond
systemctl restart crond
systemctl reload crond
systemctl status crond

开机自启动: systemctl enable crond.service

查看当前用户的crontab: 输入crontab -l 或 crontab -l -u root

编辑: crontab -e

格式: Minute Hour DayofMonth Month DayofWeek CommandPath

参数说明:
Minute:每个小时的第几分钟执行该任务;取值范围0-59
Hour:每天的第几个小时执行该任务;取值范围0-23
Day:每月的第几天执行该任务;取值范围1-31
Month:每年的第几个月执行该任务;取值范围1-12
DayOfWeek:每周的第几天执行该任务;取值范围0-6,0表示周末
CommandPath:指定要执行的程序路径

时间格式:
* :表示任意的时刻;如小时位 * 则表示每个小时
n :表示特定的时刻;如小时位 5 就表示5时
n,m :表示特定的几个时刻;如小时位 1,10 就表示1时和10时
n-m :表示一个时间段;如小时位 1-5 就表示1到5点
*/n : 表示每隔多少个时间单位执行一次;如小时位 */1 就表示每隔1个小时执行一次命令,也可以写成 1-23/1

实例:
30 21 * * * /etc/init.d/nginx restart //每晚的21:30重启 nginx。
45 4 1,10,22 * * /etc/init.d/nginx restart //每月1、 10、22日的4 : 45重启nginx。
10 1 * * 6,0 /etc/init.d/nginx restart //每周六、周日的1 : 10重启nginx。
0,30 18-23 * * * /etc/init.d/nginx restart //每天18 : 00至23 : 00之间每隔30分钟重启nginx。
0 23 * * 6 /etc/init.d/nginx restart //每星期六的11 : 00 pm重启nginx。
* */1 * * * /etc/init.d/nginx restart //每一小时重启nginx
* 23-7/1 * * * /etc/init.d/nginx restart //晚上11点到早上7点之间,每 隔一小时重启nginx
0 11 4 * mon-wed /etc/init.d/nginx restart //每月的4号与每周一到周三 的11点重启nginx
0 4 1 jan * /etc/init.d/nginx restart //一月一号的4点重启nginx
*/30 * * * * /usr/sbin/ntpdate 210.72.145.20 //每半小时同步一下时间

发表评论

电子邮件地址不会被公开。 必填项已用*标注