Unix下crontab使用方法

crontab命令的功能是在一定的时间间隔调度一些命令的执行。通常这些要运行的命令放在crontab文件中,该文件为/usr/spool/cron/crontabs下面与用户名相同的文件,或在每次执行时不使用该文件名直接使用crontab -e 指令。命令执行默认的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。


   crontab命令有三种形式的命令行结构: 
   crontab [cronfile] 
   crontab [-e|-l|-r] 
   crontab -l -u [-e|-l|-r] 

   相关文件目录 
   /usr/lib/cron         main cron directory 
   /usr/spool/cron/crontabs   crontab directory 
   /usr/lib/cron/cron.allow   list of allowed users 
   /usr/lib/cron/cron.deny    list of denied users 
   /usr/lib/cron/queuedefs    cron data file 

   1) crontab [cronfile] 
   cronfile是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。(不建议使用该方式,如果用crontab cronfile ,将会把原来的已经提交的cron作业删除) 
   cronfile 是具有一定格式的普通文件,在文件中可以包含多余一个的作业信息,每个作业作为一个登记项,独占一行,用空格分开的6个字段,前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。
    
crontab文件语法  
    * * * * * command to be executed  
    - - - - -  
    | | | | |  
    | | | | +----- 星期 (1 - 7) (monday = 1)  
    | | | +-------  (1 - 12)  
    | | +---------  (1 - 31)  
    | +-----------  (0 - 23)  
    +-------------  (0 - 59) 
   2) -l 
   显示已经提交的cron 作业 
   3-e 
   对已经提交的cron 作业编辑,或添加,删除作业建议使用该方式添加cron作业,相比手工修改/usr/spool/cron/crontabs/username文件,使用crontab -e 可以对提交的作业进行语法检查,如果没有按照规定6个字段提交作业,会提示相应错误信息。如果手工对/usr/spool/cron/crontabs/username 编辑,为确保作业提交可按照以下步骤执行用crontab -e 编辑该文件 :x存盘退出或用ps 命令查找cron进程,用kill 杀下/etc/cron进程, rm /usr/lib/cron/FIFO;/etc/cron 
   注释: /usr/lib/cron/FIFO,当新的作业提交由crontab完成时,一个发送消息到cron守护进程的命令管道。 
   4) -r 删除当前已经提交的cron 作业 
   5) -u user 对指定用户的cron 作业进行维护。

请使用浏览器的分享功能分享到微信等