不可轻言放弃,否则对不起自己!

crontab详解

上一篇 / 下一篇  2013-06-18 01:28:05 / 个人分类:测试知识

  1. 在命令行中输入 crontab -e   
  2.   
  3. 就可以配置 cron 了。   
  4.   
  5. cron 配置计划任务的书写格式   
  6.   
  7. * * * * * [用户名] 命令   
  8.   
  9. 分钟 小时 日 月 周 [用户名] 命令   
  10.   
  11. 说明:   
  12.   
  13. 第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;第七段应该定义的是:执行的命令和参数。注:其中用户名可是省略,用户名定义的是程序用哪个用户来执行,比如mysql服务器,我们可以定义成以mysql用户来启动、停止、重新 启动,这时要写上用户名;不过对于cron来说意义不是太大,因为每个用户都有自己的cron配置文件。有些程序的启动必须用到root用户,这时我们就 可以修改root用户的cron配置文件就行了。在每个用户的配置文件中,不必指定用户名。   
  14.   
  15. 我们可以把计划任务写在全局性配置文件中,如果您想把一个计划放入全局性配置文件中,就得改发行版所对应的cron全局配置文件,比如Fedora 5的全局性配置文件是/etc/crontab文件;   
  16.   
  17. 每个用户也能定义自己的cron配置文件,用crontab -e 命令来定义;   
  18.   
  19. 举一例:让机器在每天830分重新启动;   
  20.   
  21. 关于时间格式中有7个字段。我们可以直接更改或者添加,当然这是系统任务调用。举个例子,比如我在每天的早上830分重新启动机器,就可以在   
  22. /etc/crontab中加入下面的两句,第一句就是注释了。以#号开始,后面写一个自己能知道这是什么任务的备注;   
  23.   
  24. # reboot OS   
  25. 30 8 * * * root /sbin/reboot   
  26. 第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59  
  27. 第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23  
  28. 第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31  
  29. 第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12  
  30. 第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。   
  31. 每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;   
  32. 第七段应该定义的是:执行的命令和参数。   
  33.   
  34. 对比上面的例子就知道,30是不是分钟??8是不是小时?如果有*代表的地方,表示全部,也就是说,每个月,每天,每星期都要执行。root 表示用root用户执行,命令是/sbin/reboot ,也就是说,系统在每天 830分重新启动;   
  35.   
  36. 我们可以把每天830分重新启动的计划任务写入cron全局性配置文件中,也可以定义在root用户自己的cron配置文件中。如果定义在 root自己的配置文件,请用root身份来执行 crontab -e 来修改配置文件;crontab -e 进入修改配置文件的过程,其实和vi的用法一样,请参看vi 的用法:《文件编辑器 vi》   
  37.   
  38. 这里有c r o n t a b文件条目的一些例子:   
  39. 30 21 * * * /apps/bin/cleanup.sh   
  40. 上面的例子表示每晚的21:3 0运行/a p p s/b i n目录下的cleanup.sh。   
  41. 45 4 1,10,22 * * /apps/bin/backup.sh   
  42. 上面的例子表示每月11 02 2日的4 : 4 5运行/ a p p s / b i n目录下的b a c k u p . s h。   
  43. 10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;   
  44. 上面的例子表示每周六、周日的1 : 1 0运行一个f i n d命令。   
  45. 0,30 18-23 * * * /apps/bin/dbcheck.sh   
  46. 上面的例子表示在每天1 8 : 0 02 3 : 0 0之间每隔3 0分钟运行/ a p p s / b i n目录下的d b c h e c k . s h。   
  47. 0 23 * * 6 /apps/bin/qtrend.sh   
  48. 上面的例子表示每星期六的11 : 0 0 p m运行/ a p p s / b i n目录下的q t r e n d . s h。   
  49.   
  50.   
  51. 让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。   
  52.   
  53. 重启cron服务是:/etc/init.d# ./cron restart  

TAG:

 

评分:0

我来说两句

Open Toolbar