计划任务

计划任务

    计划任务主要分为两种:1、循环执行 2、单次执行

    一、循环执行

      1、crond服务管理与访问控制

        systemctl status crond                       

        #查看crond服务状态

      2、用户的crontab设置

        crontab [选项]

          -e  编辑crontab定时任务

          -l  查询crontab任务

          -r  删除当前用户所有的crontab任务

        crontab -e 

          #进入crondtab编辑界面。 会打开vim编辑你的工作

          * * * * * 执行的任务

          分时日月周   (每个*所代表的含义)      范围

          第一个'*'  表示一小时当中的第几分钟     0-59

          第二个‘*’  表示一天中的第几个小时      0-23

          第三个‘*’  表示一个月中的第几天       1-31

          第四个‘*’  表示一年当中的第几个月      1-12

          第五个‘*’  表示一周当中的星期几       0-7

      特殊符号:

        *  代表任何时间,比如第一个‘*’就代表一小时中每分钟都执行一次的意思

         ,  代表不连续的时间。 比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令

        -  代表连续的时间范围。比如“0 5 * * 1-6 命令” 代表在周一到周六的凌晨5点0分执行命令

        */n 代表每个多久执行一次。比如“*/n * * * * 命令”,代表每隔10分钟就执行一遍命令

    二、单次执行

      1、at的启动

        systemctl status std

        #查看atd服务的状态

      2、at运行的方式

        at -[mldv] time  (写入你要让它执行的时间)

        #输入你要执行的命令,然后按ctrl+d退出

        -m    当at完成工作后,即使没有输出信息,以email形式通知用户已经运行

        -l     列出目前系统上该用户的at调度

        -d      取消一个at的调度

        -v       可以使用较明显的时间格式列出at调度中任务列表

        -c     可以列出后面接的该项工作实际命令内容

  

    3、限制形式

        白名单:/etc/cron.allow  /etc/at.allow

        黑名单:/etc/cron.deny  /etc/at.deny  

        补充:上面两个文件实现的效果相同

         首先,寻找/etc/at.allow 这个文件,如果用户存在这个文件,可以使用,如果不在,不能使用(即使没有写在at.deny中)

         其次,如果/etc/at.allow不存在,就寻找/etc/at.deny 这个文件,如果用户存在这个文件,不可使用,如果不在,可以使用。

            如果两个文件都不存在,那么只有root可使用

         补充:一般默认有空的at.deny ,代表所有用户都能使用,一个用户一行

      

        

        

        

 

 

 

 

 

原文地址:https://www.cnblogs.com/cxhh/p/10316664.html