unix定时执行命令:crontab

一般是执行crontab -e <username>,然后在里面填内容,可以man crontab获得帮助
根用户的 crontab 文件放在 /var/spool/crontab/root 中,其格式如下:

  (1)  (2)  (3)  (4)  (5)  (6)
   0   0   *   *   3   /usr/bin/updatedb
      1. 分钟 (0-60)
      2. 小时 (0-23)
      3. 日 (1-31)
      4. 月 (1-12)
      5. 星期 (1-7)
      6. 所要运行的程序

-----------------------------------------------------------------------------------  
定时执行crontab使用方法详解    
  使用方式:    
  crontab   [   -u   user   ]   filecrontab   [   -u   user   ]   {   -l   |   -r   |   -e   }    
  说明:    
  crontab   是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u   user   是指设定指定   user   的时程表,这个前提是你必须要有其权限(比如说是   root)才能够指定他人的时程表。如果不使用   -u   user   的话,就是表示设定自己的时程表。    
  参数:    
   
  -e:执行文字编辑器来设定时程表,内定的文字编辑器是   VI,如果你想用别的文字编辑器,则请先设定   VISUAL   环境变数来指定使用那个文字编辑器(比如说   setenv   VISUAL   joe)    
  -r:删除目前的时程表    
  -l:列出目前的时程表    
   
  时程表的格式如下:    
  f1   f2   f3   f4   f5   program    
   
  其中   f1   是表示分钟,f2   表示小时,f3   表示一个月份中的第几日,f4   表示月份,f5   表示一个星期中的第几天。program   表示要执行的程式。    
  当   f1   为   *   时表示每分钟都要执行   program,f2   为   *   时表示每小时都要执行程式,其余类推    
  当   f1   为   a-b   时表示从第   a   分钟到第   b   分钟这段时间内要执行,f2   为   a-b   时表示从第   a   到第   b   小时都要执行,其余类推    
  当   f1   为   */n   时表示每   n   分钟个时间间隔执行一次,f2   为   */n   表示每   n   小时个时间间隔执行一次,其余类推    
  当   f1   为   a,   b,   c,...   时表示第   a,   b,   c,...   分钟要执行,f2   为   a,   b,   c,...   时表示第   a,   b,   c...个小时要执行,其余类推    
  使用者也可以将所有的设定先存放在档案   file   中,用   crontab   file   的方式来设定时程表。    
  例子:    
  每月每天每小时的第   0   分钟执行一次   /bin/ls:    
  0   7   *   *   *   /bin/ls    
   
  在   12   月内,   每天的早上   6   点到   12   点中,每隔   20   分钟执行一次   /usr/bin/backup:    
  0   6-12/3   *   12   *   /usr/bin/backup    
   
  周一到周五每天下午   5:00   寄一封信给   alex@domain.name:    
  0   17   *   *   1-5   mail   -s   \"hi\"   alex@domain.name   <   /tmp/maildata    
   
  每月每天的午夜   0   点   20   分,   2   点   20   分,   4   点   20   分....执行   echo   \"haha\"    
  20   0-23/2   *   *   *   echo   \"haha\"    
   
  注意:    
  当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上   >   /dev/null   2>&1   即可。

posted on 2009-03-20 15:50  fengyuwuzu1980  阅读(958)  评论(2编辑  收藏  举报

导航