转自:http://www.centoscn.com/CentOS/help/2013/0817/1348.html
#crontab 定时执行任务
1.crontab -l 查看
2.crontab -e 编辑
3.crontab -r 删除
强烈建议 备份crontab 文件因为 e和r键非常近,极易误操作,平时查看使用少用e命令,使用l命令
4.crontab file 提交crontab文件 用于新建或者恢复定时脚本使用
crontab 命令的一般形式为:
Crontab [-u user] -e -l -r
其中:
-u 用户名。
-e 编辑c r o n t a b文件。
-l 列出c r o n t a b文件中的内容。
-r 删除c r o n t a b文件。
如果使用自己的名字登录,就不用使用- u选项,因为在执行c r o n t a b命令时,该命令能够
第3章后台执行命令23
下载
知道当前的用户。
示例:
crontab -u tata -l 查看tata 用户crontab 文件内容
crontab -u tata -e 编辑tata 用户crontab 文件内容
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
#语法
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
这里有c r o n t a b文件条目的一些例子:
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的2 1 : 3 0运行/ a p p s / b i n目录下的cleanup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、1 0、2 2日的4 : 4 5运行/ a p p s / b i n目录下的backup.sh
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天1 8 : 0 0至2 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的dbcheck.sh
0 23 * * 6 /apps/bin/qtrend.sh
#注意 -连接两个表示区间 ,逗号表示枚举
*/2 * * * cd /data/one_key_to_td/bank/ && getbankconfig.sh > /tmp/getbankconfig.log 2>&1 &
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
应用实例:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
1.每隔n分钟执行一次
*/n * * * * /data/andes/tmp/t.sh > /dev/null 2>&1
2.每天n时m分执行一次
m n * * * /data/andes/tmp/t.sh > /dev/null 2>&1
3.每隔n个小时的第m分开始执行一次
m */n * * * /data/andes/tmp/t.sh > /dev/null 2>&1
4.在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0/3 6-12 * 12 * /usr/bin/backup
5.周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
6.例子2 :
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date
7.范例
42 4 1 * * 毎月1日的 4:42分 执行
0 21 * * 1-6 周一到周六 21:00 执行
0,10,20,30,40,50 * * * * 每隔10分 执行
*/10 * * * * 每隔10分 执行
* 1 * * * 从1:0到1:59 每隔1分钟 执行
0 1 * * * 1:00 执行
0 */1 * * * 毎时0分 每隔1小时 执行
0 * * * * 毎时0分 每隔1小时 执行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * * 1日 和 15日的 5:30 执行
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
注意:
第1列分钟1~5 9
第2列小时1~2 3(0表示子夜)
第3列日1~3 1
第4列月1~1 2
第5列星期0~6(0表示星期天)
第6列要运行的命令
字段* 表示该周期没有限制
*/n 解释为每隔n周期执行一次(周期是该字段所在的分,小时,日,月,星期)
,逗号代表枚举
- 连字号代表区间
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=
crontab 文件位置
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=#crontab 定时任务脚本存放目录
/var/spool/cron/
其下以用户名为文件名进行存放
例如:
/var/spool/cron/root
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=cron 是系统守护进程,
/etc/init.d/crond
参数:
start
stop
restart
reload