Linux计划任务入门详解ITeye - 娱乐之横扫全球

Linux计划任务入门详解ITeye

2019年03月13日14时45分47秒 | 作者: 凡灵 | 标签: 履行,使命,指令 | 浏览: 2345

       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             指定每年的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

 

更多精彩linux视频教程,尽在51CTO学院:
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章