实用命令行工具详解crontab

来源:互联网 发布:男士双肩包品牌知乎 编辑:程序博客网 时间:2024/06/06 15:47


1 crontab介绍

 

  crontab linux用来定期执行程序的命令,默认系统会启动此任务调度命令。crontab命令每分钟会定期检查是否有要执行的工作,若有便会自动执行。

 

2命令格式

 

  crontab -l|-r|-e|-i [username]

  -l 显示用户的crontab文件的内容

  -i 删除crontab文件时给出提示

  -r crontab目录中删除用户的crontab文件

  -e 编辑用户的crontab文件

 

3应用实例

 

  基本格式 :

  *  *  *  *  *  command

  分 时 日 月 周 命令

  1列表示分钟159每分钟用*或者 */1表示

  2列表示小时123(0表示0)

  3列表示日期131

  4列表示月份112

  5列标识号星期06(0表示星期天)

  6列要运行的命令

应用实例

30 21 * * * /usr/local/apache/bin/apachectlrestart

#上面的例子表示每晚的21:30重启apache

45 4 1,10,22 * */usr/local/apache/bin/apachectl restart

#上面的例子表示每月11022日的4 : 45重启apache

10 1 * * 6,0 /usr/local/apache/bin/apachectlrestart

#上面的例子表示每周六、周日的1 : 10重启apache

0,30 18-23 * * */usr/local/apache/bin/apachectl restart

#上面的例子表示在每天18 : 0023 : 00之间每隔30分钟重启apache

0 23 * * 6 /usr/local/apache/bin/apachectlrestart

#上面的例子表示每星期六的11 : 00 pm重启apache

* */1 * * * /usr/local/apache/bin/apachectlrestart

#每一小时重启apache

* 23-7/1 * * */usr/local/apache/bin/apachectl restart

#晚上11点到早上7点之间,每隔一小时重启apache

#每月每天每小时的第 0分钟执行一次 /bin/ls :

*/20 6-12 * 12 * /usr/bin/backup

#周一到周五每天下午 5:00寄一封信给 ranger@domain.name:

0 17 * * 1-5 mail -s "hi"ranger@domain.name < /tmp/maildata

#每月每天的午夜 0 20, 2 20, 4 20....执行 echo "haha"

20 0-23/2 * * * echo "haha"

#晚上11点到早上8点之间每两个小时,早上8

 

4重启服务

 

/sbin/service crond start  //启动服务

 

/sbin/service crond stop   //关闭服务

 

/sbin/service crond restart //重启服务

 

/sbin/service crond reload //重新载入配置

 

0 0