首页 > 代码库 > 任务计划

任务计划

任务计划:

1、在未来的某个时间点执行一次某任务;
    at
    batch
    
    at 时间
    at> COMMAND
    at> Ctrl+d
    

[root@localhost ~]# at 22:44at> echo "hahh"at> <EOT>job 1 at 2016-08-30 22:44[root@localhost ~]# 

 


    指定时间:
        绝对时间:HH:MM, DD.MM.YY  MM/DD/YY
        相对时间:now+#
            单位:minutes, hours, days, weeks
        模糊时间:noon, midnight, teatime
    
    命令的执行结果:将以邮件的形式发送给安排任务的用户
    
    
    at -l = atq
    at -d AT_JOB_ID = atrm  AT_JOB_ID  删除任务

2、周期性地执行某任务;
    cron:自身是一个不间断运行的服务
    anacron: cron的补充,能够实现让cron因为各种原因在过去的时间该执行而未执行的任务在恢复正常执行一次;
    
    cron:
        系统cron任务:
            /etc/crontab
                分钟  小时  天  月  周  用户  任务
        用户cron任务:
            /var/spool/cron/USERNAME
                分钟  小时  天  月  周  任务
            
        时间的有效取值:
            分钟:0-59
            小时:0-23
            天:1-31
            月:1-12
            周:0-7,0和7都表示周日
            
        时间通配表示:
            *: 对应时间的所有有效取值
                3 * * * *
                3 * * * 7
                13 12 6 7 *
            ,: 离散时间点:
                10,40 02 * * 2,5
            -:连续时间点:
                10 02 * * 1-5
            /#: 对应取值范围内每多久一次
                */3 * * * *
                
        每两小时执行一次:
            08 */2 * * *
        每两天执行一次:
            10 04 */2 * *
    
    执行结果将以邮件形式发送给管理员:
        */3 * * * * /bin/cat /etc/fstab &> /dev/null
        
    cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找
        PATH  /bin:/sbin:/usr/bin:/usr/sbin

    用户任务的管理:
        crontab
            -l: 列出当前用户的所有cron任务
            -e: 编辑
            -r: 移除所有任务
            -u USERNAME: 管理其用户的cron任务
            
    anacron:

任务计划