首页 > 代码库 > 周期性计划任务

周期性计划任务

循环性计划任务   周期性计划任务  
    安装软件
        crontabs-1.10-33.el6.noarch
        cronie-1.4.4-7.el6.x86_64
   
    查看crontabs软件有无安装
        # rpm -qa |grep crontabs


    启动服务
        # /etc/init.d/crond  start   默认是启动的
        # chkconfig |grep crond   默认2 3 4 5 是启动的
       
    crontab的运行方式
        /var/spool/cron/  工作将以文本文件的方式写入此目录内以用户名命名的文件,例jack账户使用crontab后,他的工作就会记录到/var/spool/cron/jack文件中,执行的任务会记录到日志文件/var/log/cron中
       
    配置
        crontab  [-u user]  [ -e | -l | -r ]
            -u 指定用户
            -e 编辑用户的计划任务
            -l 列出用户的计划任务
            -r 删除用户的计划任务
       
        #crontab   -e   编辑周期性计划任务的内容  空白     man 5 crontab 
        时间                                                                      动作
        分钟          小时            日            月           周           
        0-59         0-23         1-31          1-12       0-7                     
        5                *                *             *              *         命令或者脚本(写绝对路径)
        */5             *                *              *              *
        5-9       
        5,10,12
        5-9,12-20,25-27
        1               1               28              *            6
       
        时间的写法 
        The time and date fields are:

        field          allowed values
        -----            --------------
        minute             0-59
        hour                  0-23
        day of month   1-31
        month              1-12 (or names, see below)
        day of week     0-7 (0 or 7 is Sun, or use names)
       
        * 任何时刻
        ,  分隔         // 0 3,6 * * * 3点和6点进行
        -  一段时间  // 1-5 3 * * * 3点的1,2,3,4,5分钟进行
        /n 每隔n单位间隔  // */5 * * * * 每5分钟进行
        1-9/2                  // "1,3,5,7,9"
       
        例:
        发邮件 女朋友生日5月2日 /home/tom/lover.txt 信的内容  每年发 
        crontab -e
        59 23 1 5 * mail kiki < /home/tom/lover.txt  

        tom账户每小时执行脚本一次(脚本内的命令也一定要写绝对路径)
        crontab -u tom -e
        * */1 * * *  /bin/bash a.sh

    查询周期计划任务
        crontab -l  //查当前用户的计划任务
        crontab -u tom -l //查指定用户的计划任务
       
    修改
        crontab -e 编辑文本    文本存放/var/spool/cron
        
    删除某用户的所有周期计划任务(删除某条有crontab -e 进入文本删除某条)
        # crontab -r   //当前用户
        # crontab  -u redhat -r    //指定用户

    系统定义的计划任务
        更新whatis数据库
        更新updatedb数据库
        日志定期轮转
        清理/tmp,/var/tmp
        收集系统的状态信息
        ...
        # /etc/crontab   配置文件   需重启服务
        SHELL=/bin/bash   //使用的shell
        PATH=/sbin:/bin:/usr/sbin:/usr/bin   //执行文件查找命令
        MAILTO=root    //若有额外的输出,以email将数据发送给谁   /etc/crontab这个文件中例行工作的命令发生错误,将错误消息发给谁
        HOME=/           //默认此shell的主文件夹所在

        */5  *  *  *  *  root 命令    //每隔5分中以root身份执行命令  默认不写用户是root
        时间               执行者身份
        01  *  *  *  * root run-parts  /root/runcron  //每分钟执行/root/runcron文件夹下的脚本   新建 /root/runcron 文件夹

    查看任务是否执行
        /var/log/cron   日志文件中
  
    以下目录内可以存放脚本 该脚本就会按照时间去执行
        /etc/cron.daily  每天              
        /etc/cron.hourly   每小时
        /etc/cron.monthly 每月1号
        /etc/cron.weekly  每周日
       
    cat /etc/cron.daily/tmpwatch   超过一个月不使用的文件删除

  

本文出自 “雨夜星空” 博客,请务必保留此出处http://rainy1119.blog.51cto.com/12555635/1912230

周期性计划任务