centos crontab 定时执行任务使用大全

时间:2022-09-14 08:00:25

转自: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