crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。
crontab命令有三种形式的命令行结构:
crontab [-u user] [file]
crontab [-u user] [-e|-l|-r]
crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行
crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命
令,并将他们也存放在crontab目录下。
命令行中-r选项的作用是从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab;
命令行中-l选项的作用是显示用户crontab文件的内容。
使用命令crontab -u user -e命令编辑用户user的cron(c)作业。用户通过编辑文件来增加或修改任何作业请求。
执行命令crontab -u user -r即可删除当前用户的所有的cron作业。
作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。username使用户名,在相应的文
件中存放着该用户所要运行的命令。命令执行的结果,无论是标准输出还是错误输出,都将以邮件形式发给用户。文件里的每一个请求必须包含以spaces和
tabs分割的六个域。前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。
第一道第五个字段的整数取值范围及意义是:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
/usr/lib/cron/cron.allow表示谁能使用crontab命令。如果它是一个空文件表明没有一个用户能安排作业。如果这个文
件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。如果它是一
个空文件表明任何用户都可安排作业。两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。
Linux操作系统定时任务系统 Cron 入门 
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务: 
/sbin/service crond start //启动服务 
/sbin/service crond stop //关闭服务 
/sbin/service crond restart //重启服务 
/sbin/service crond reload //重新载入配置 
你也可以将这个服务在系统启动的时候自动启动: 
在/etc/rc.d/rc.local这个脚本的末尾加上: 
/sbin/service crond start 
现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用: 
1.直接用crontab命令编辑 
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: 
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 
crontab -l //列出某个用户cron服务的详细内容 
crontab -r //删除没个用户的cron服务 
crontab -e //编辑某个用户的cron服务 
比如说root查看自己的cron设置:crontab -u root -l 
再例如,root想删除fred的cron设置:crontab -u fred -r 
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 
任务调度的crond常驻命令 
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。 
1、linux任务调度的工作主要分为以下两类: 
      *系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 
      *个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置。 
2.crontab命令选项: 
      -u指定一个用户, 
      -l列出某个用户的任务计划, 
      -r删除某个用户的任务, 
      -e编辑某个用户的任务 
3.cron文件语法: 
            分      小时    日        月        星期      命令 
          0-59    0-23    1-31    1-12      0-6      command      (取值范围,0表示周日一般一行对应一个任务) 
4.记住几个特殊符号的含义: 
          "*"代表取值范围内的数字, 
          "/"代表"每", 
          "-"代表从某个数字到某个数字, 
          ","分开几个离散的数字 
一、任务调度设置文件的写法 
        可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件 
具体格式如下: 
        Minute Hour Day Month Dayofweek    command 
        分钟      小时    天      月        天每星期        命令 
每个字段代表的含义如下: 
      Minute              每个小时的第几分钟执行该任务 
      Hour                每天的第几个小时执行该任务 
      Day                  每月的第几天执行该任务 
      Month              每年的第几个月执行该任务 
      DayOfWeek      每周的第几天执行该任务 
      Command        指定要执行的程序 
      在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。 
举例如下: 
5        *        *            *      *      ls              指定每小时的第5分钟执行一次ls命令 
30      5        *            *      *      ls              指定每天的 5:30 执行ls命令 
30      7        8          *      *      ls              指定每月8号的7:30分执行ls命令 
30      5        8          6      *      ls              指定每年的6月8日5:30执行ls命令 
30      6        *            *      0      ls            
指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。] 
30      3      10,20      *      *      ls      每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段] 
25      8-11 *            *      *      ls        每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段] 
*/15    *        *            *      *      ls          每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ] 
30    6      */10          *      *      ls        每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令。 ] 
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件 
50    7        *              *      *      root    
run-parts      /etc/cron.daily    [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ] 
二、新增调度任务 
新增调度任务可用两种方法: 
          1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
          2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 
三、查看调度任务 
          crontab -l //列出当前的所有调度任务 
          crontab -l -u jp    //列出用户jp的所有调度任务 
四、删除任务调度工作 
          crontab -r    //删除所有任务调度工作 
五、任务调度执行结果的转向 
      例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中 
          30 5 * * * ls >/jp/test 2>&1 
      注:2>&1 表示执行结果及错误信息。 
编辑/etc/crontab 文件配置cron  
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用
cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:  
SHELL=/bin/bash  
PATH=/sbin:/bin:/usr/sbin:/usr/bin  
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号  
HOME=/ //使用者运行的路径,这里是根目录  
# run-parts  
01    *    *    *    *      root run-parts /etc/cron.hourly          //每小时执行/etc/cron.hourly内的脚本  
02    4    *    *    *      root run-parts /etc/cron.daily            //每天执行/etc/cron.daily内的脚本  
22    4    *    *    0      root run-parts /etc/cron.weekly        //每星期执行/etc/cron.weekly内的脚本  
42    4    1    *    *      root run-parts /etc/cron.monthly      //每月去执行/etc/cron.monthly内的脚本  
大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了 
例如:          1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
          2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务 
11 2 21 10 * rm -rf /mnt/fb