IT技术博客大学习 共学习 共进步

实用命令行工具详解(五)—crontab

   一 crontab介绍

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

   二 命令格式

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

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

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

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

   -e 编辑用户的crontab文件

   三 应用实例

   基本格式 :

   *  *  *  *  *  command

   分 时 日 月 周 命令

   第1列表示分钟1~59 每分钟用*或者 */1表示

   第2列表示小时1~23(0表示0点)

   第3列表示日期1~31

   第4列表示月份1~12

   第5列标识号星期0~6(0表示星期天)

   第6列要运行的命令

30 21 * * * /usr/local/apache/bin/apachectl restart
 
#上面的例子表示每晚的21:30重启apache。
 
45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart
 
#上面的例子表示每月1、10、22日的4 : 45重启apache。
 
10 1 * * 6,0 /usr/local/apache/bin/apachectl restart
 
#上面的例子表示每周六、周日的1 : 10重启apache。
 
0,30 18-23 * * * /usr/local/apache/bin/apachectl restart
 
#上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
 
0 23 * * 6 /usr/local/apache/bin/apachectl restart
 
#上面的例子表示每星期六的11 : 00 pm重启apache。
 
* */1 * * * /usr/local/apache/bin/apachectl restart
 
#每一小时重启apache
 
* 23-7/1 * * * /usr/local/apache/bin/apachectl restart
 
#晚上11点到早上7点之间,每隔一小时重启apache
 
#每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 * * * * /bin/ls
#在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
*/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点
0 23-7/2,8 * * * date


建议继续学习

  1. vim几个小技巧(批量替换,列编辑) (阅读 37,263)
  2. ps - 按进程消耗内存多少排序 (阅读 12,524)
  3. find命令的一点注意事项 (阅读 11,682)
  4. 100个常用的linux命令 (阅读 11,444)
  5. 每个程序员都应该知道的8个Linux命令 (阅读 10,586)
  6. 最受欢迎的10个 Linux 单行命令 (阅读 10,002)
  7. Linux date 命令获取某日期的前一天 (阅读 9,725)
  8. ps 命令常见用法 (阅读 9,323)
  9. Linux常用系统信息查看命令 (阅读 8,503)
  10. Linux 常见高危操作 (阅读 8,263)