分类: LINUX
2011-04-08 12:35:19
Crond 是Linux用来定期执行程序的命令。安装完成系统之后,默认便会启动此任务调度命令。crond命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
Crontab是Linux系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:
文件名 | 作用 |
/etc/cron.deny | 不允许使用Crontab命令的用户列表 |
/etc/cron.allow | 允许使用Crontab命令的用户列表 |
/var/spool/cron/ | 所有用户的crontab文件存放位置 |
Crontab命令的格式为:
crontab [-u user] file
crontab [-u user] –l|-r|-e|-i
参数 | 含义 | 示例 |
file | 用文件定义规则 |
crontab /nobody/crontabtest.txt crontab -u nobody /nobody/crontabtest.txt |
-l | 显示用户的Crontab文件的内容 |
crontab –l crontab –l -u nobody |
-r | 从Crontab目录中删除用户的Crontab文件 |
crontab –r crontab –r -u nobody |
-i | 提示删除用户的Crontab文件 | crontab –i |
-e | 编辑用户的Crontab文件默认进入vi | crontab –e |
用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。格式共分为六段,前五段为时间,第六段为所要执行的命令段,格式:t1 t2 t3 t4 t5
参数 | 含义 | 取值及含义 | 示例 |
t1 | 分钟 |
0-59 分钟 * 每分钟 */n :每n 分钟时间间隔执行一次 a, b, c,...:第 a, b, c,... 分钟要执行 |
23:23分 0-10:0到10分 */5 :每5分钟时间间隔执行一次 3, 6, 9:第 3, 6, 9 分钟要执行 |
t2 | 小时 |
0-23 小时 * 每小时 */n:每n 小时时间间隔执行一次 a, b, c,...:第 a, b, c,... 小时要执行 |
12:12点 5-9:5点到9点 */0:每10小时时间间隔执行一次 3, 6, 9:第 3, 6, 9 小时要执行 |
t3 | 一个月份中的第几天 |
1-31天 * 每天 */n:每n天时间间隔执行一次 a, b, c,...:第 a, b, c,... 天要执行 |
5:5号 12-15:12到15号 3, 6, 9:第 3, 6, 9 号要执行 |
t4 | 月份 |
1-12月 * 每月 */n:每n个月时间间隔执行一次 a, b, c,...:第 a, b, c,... 月要执行 |
2:2月 3-4:3月到4月 */2:每2个月时间间隔执行一次 3, 6, 9:第 3, 6, 9 月要执行 |
t5 | 一个星期中的第几天 |
0-6 星期天-星期六 * 每天 */n:每星期n间隔执行一次 a, b, c,...:第 星期a, b, c,...要执行 |
5:星期五 2-6:星期二到星期六 */5:每星期5间隔执行一次 3, 6, 1:第星期3, 6, 1要执行 |
具体例子:
0 */5 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache
30 8 * * * /sbin/service vncserver start 意思是每天8:30开启vncserver服务
0 0 1,15,20 * * fsck /home 每月1号15号20号检查/home 磁盘
15 * * * * /home/nobody/a.php 每小时的第15分执行/home/nobody/a.php