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 <command>
| 参数 | 含义 | 取值及含义 | 示例 | | 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要执行
|
<span style="color: #ff0000; font-family: Courier New;" /> 具体例子:
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
<span style="color: #ff0000; font-family: Courier New;" />
|