共计 1952 个字符,预计需要花费 5 分钟才能阅读完成。
在运维行业里流行着这么一句话:能自动完成的,绝不手工去操作;这就涉及到 Linux 下的计划任务 crond 的设置,下面介绍 crond 是如何设置的。
方法 1:编辑 /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .—————- minute (0 – 59)
# | .————- hour (0 – 23)
# | | .———- day of month (1 – 31)
# | | | .——- month (1 – 12) OR jan,feb,mar,apr …
# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
格式说明:
第 1 列 分钟 1~59
第 2 列 小时 1~23(0 表示子夜)
第 3 列 日 1~31
第 4 列 月 1~12
第 5 列 星期 0~6(0 表示星期天)
第 6 列 要运行的命令
例子:
01 * * * * ntpdate time.windows.com
上面的例子表示每小时 01 分同步一次系统时间。
59 23 * * * /etc/init.d/httpd restart
上面的例子表示每晚的 23:59 重启 apache。
45 4 1 * * /etc/init.d/httpd restart
上面的例子表示每月 1 日的 4:45 分重启 apache。
45 4 1,10,22 * * /etc/init.d/httpd restart
上面的例子表示每月 1、10、22 日的 4 : 45 重启 apache。
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的 1 : 10 重启 apache。
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache。
0 23 * * 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的晚上 11 : 00 pm 重启 apache。
* */1 * * * /usr/local/apache/bin/apachectl restart
每一小时重启 apache
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
晚上 11 点到早上 7 点之间,每隔一小时重启 apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的 4 号与每周一到周三的 11 点重启 apache
0 4 1 jan * /etc/init.d/httpd restart
一月一号的 4 点重启 apache
方法 2:crontab -e
usage: crontab [-u user] file
crontab [-u user] [-e | -l | -r]
(default operation is replace, per 1003.2)
-e (edit user’s crontab)
-l (list user’s crontab)
-r (delete user’s crontab)
-i (prompt before deleting user’s crontab)
-s (selinux context)
参数很简单,这几个单词相信大家一看就明白了,格式跟方法 1 讲的一样,需要注意的是 crontab -e 写的是用户自己的计划任务,文件存放在以下目录:
/var/spool/cron/
相关阅读 :
Linux 下 Crond,scp,tar 结合使用自动备份 http://www.linuxidc.com/Linux/2007-12/9581.htm
Linux 计划任务 Crond 命令用法 http://www.linuxidc.com/Linux/2009-01/17964.htm
CentOS 安装 Crond 服务 http://www.linuxidc.com/Linux/2010-04/25371.htm
Linux 中 Crond 服务与 crontab 用法 http://www.linuxidc.com/Linux/2010-08/27700.htm
Linux 下任务调度的 Crond 常驻命令 http://www.linuxidc.com/Linux/2012-01/52867.htm
Linux 下利用 Crond 和 Expect 定时登陆交换机执行任务 http://www.linuxidc.com/Linux/2013-03/80838.htm