默认教学计划
931人加入学习
(20人评价)
Linux运维基础
价格 ¥ 599.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

任务计划:调度性的任务

        分为:

                一次性任务计划:at、batch

                周期性任务计划:cron、anacron

 

一次性任务计划:

          一、at命令

          1、at:设置系统在某一个时间点执行的任务,执行结果以邮件的方式发送给任务发起者

              依赖atd服务,所以需要:

              # systemctl start atd

              # systemctl enable atd

              # systemctl status atd

 

          2、语法:

                  # at data_time

                  at>at_command1   //输入需要执行的命令

                  at>at_command2

                  at>ctrl+d 保存退出

 

                  data_time:时间日期写法

                            绝对时间:

                                  HH:MM:具体时间点

                                  DD.MM.YY:天.月.年

                                  YY-MM-DD:年-月-日

                                  MM/DD/YY:月/日/年

                                  HH:MM YY-MM-DD:

                            相对时间:

                                  at now+3minutes:从任务计划创建开始计时,3分钟以后执行

  

         3、与at命令相关的文件:

                 Linux中设置at任务后,会在/var/spool/at/目录生成at任务计划的文件,按照文件名的排序顺序执行

                权限:

                /etc/at.allow:at任务计划的白名单,仅允许此文件中的用户执行at

                /etc/at.deny:at任务计划的黑名单,仅拒绝次文件中的用户执行at

                系统先查找/etc/at.allow,再去查找/etc/at.deny,如果两个文件都没有,可以执行

 

         4、at命令:设置at任务计划

              -l:查看系统中at任务列表,相当于atq

              -r:删除系统中的at任务列表,相当于atrm

              -d:删除系统中的at任务列表,相当于atrm

              -c:列出后续at任务的具体指令内容

 

 

        二、batch

         1、batch:用法和at相同,不过batch任务计划是在CPU空闲时执行(当CPU的平均负载小于0.8时,uptime:查看CPU的平均负载)

                依赖batchd服务,所以需要:

              # systemctl start batchd

              # systemctl enable batchd

              # systemctl status batchd

 

          2、语法:

            # batch data_time

             batch>batch_command1

             batch>batch_command2

             batch>ctrl+d 保存退出

  

              data_time:时间日期写法:

                绝对时间:

                      HH:MM:具体时间点

                      DD.MM.YY:天.月.年

                      YY-MM-DD:年-月-日

                      MM/DD/YY:月/日/年

                      HH:MM YY-MM-DD:

                相对时间:

                      at now+3minutes:从任务计划创建开始计时,3分钟以后执行

 

 

 

周期性任务计划:

  系统周期性任务:

        日志轮换:logrotate

        登录文件分析:logwatch任务

        创建locate数据库:updatedb

        创建man帮助信息数据库:CentOS6:makewathis  CentOS7:mandb

        RPM软件登录文件的创建

        与网络相关的分析行为:

  

  用户周期性任务:

      cron:设置周期任务计划

      anacron:当cron周期性任务由于某种原因没有执行,anacron重新执行cron任务

 

    一、cron

    1、cron:

             依赖crond服务,所以需要:

              # systemctl startcrond

              # systemctl enablecrond

              # systemctl statuscrond

 

    2、相关文件:

            权限控制文件:

                /etc/cron.allow和/etc/cron.deny

                /etc/cron.allow:白名单

                /etc/cron.deny:黑名单,默认情况下系统只保留/etc/cron.deny

 

           cron相关的配置文件:

              /etc/crontab:cron配置文件

              /etc/cron.d/:cron辅助配置文件目录

              /var/spool/cron/:cron任务计划的配置文件目录,用户设置完cron任务后,会生成以用户名名称的cron文件

 

            /etc/crontab文件解析:

                   SHELL=/bin/bash:cron任务计划执行使用的shell程序

                   PATH=/sbin:/bin:/usr/sbin:/usr/bin:cron任务计划命令搜索地址

                   MAILTO=root:cron任务计划执行结果发送给哪个用户

 

            /etc/daily/   /etc/hourly/   /etc/monthly/   /etc/weekly/,这些目录下存放了固定的周期性任务

            cron.hourly:cron工具去执行

            cron.daily,cron.weekly cron.monthly是由anacron工具去执行

 

    3、操作:

        crontab:设置/查看/删除等cron任务计划,执行结果以邮件方式发送给任务发起者

              -e:会通过文本格式建立,在文本中编辑cron任务内容,语法见下文

              -u:为指定用户设置cron任务计划(只有root用户能够使用)

              -l:查看cron任务列表

              -r:删除所有的cron列表

 

        设置任务语法:

          系统设置:

              分 时 日 月 周 用户 命令

          用户设置:

              分 时 日 月 周 命令

 

        时间取值范围:

              分钟:0-59

              小时:0-23

              日期:1-31

              月份:1-12或jan,feb,mar,apr ...

              周:0-7或sun,mon,tue,wed,thu,fri,sat,其中0和7都代表周日

        时间的特殊写法:

              通配:*代表任意时间  10 17 * * * cat /etc/fstab

              离散时间段:,(逗号)  5,15,30,45,56 17 * * * cat /etc/fstab

              连续时间段:-(中横线) 00 23 * * 1-5 cat /etc/fstab

              间隔时间段:*/n    */5 * * * * cat /etc/fstab    00 10 */5 * * cat /etc/fstab(分不能通配)

 

 

    4、cron设置任务计划时注意事项:

         CPU和内存资源集中使用时的问题:  

            # vim /etc/crontab

                  1,6,11,16,21,26,31,36,41,46,51,56 * * * * root COMMAND1

            取消一些不必要的输出:设置命令时可以重定向输出

            时间的检验:设置时间时,周与日月不可并存

            安全的检验:通过/var/log/cron的内容查看cron任务计划中是否有非法任务

            环境变量:系统命令查找和cron任务命令位置由$PATH变量决定,设置cron任务时,使用命令的绝对路径

 

 

    二、anacron

    1、anacron:当cron周期性任务由于某种原因(如关机)没有执行,anacron重新执行cron任务

 

    2、语法:

          anacron [options] [job]

               -s:依据时间记录文件去判断是否执行

               -f:强制执行

               -n:立刻运行未执行的任务,不需要延时

 

    3、anacron执行流程:

        1:由/etc/anacrontab分析到cron.daily天数为1天

        2:由/var/spool/anacron/cron.daily取出最近一次执行anacron时间戳

        3:由2步骤分析出的时间戳和cron任务进行比较,查看哪些cron任务超过1天时间没有执行

        4:准备执行指令,根据/etc/anacrontab的设置,将延时执行

        5:延时时间过后,执行指令

[展开全文]

任务计划:调度性任务

一次性任务计划;

 at:设置系统在某一各时间点执行的任务

 

[展开全文]

 任务计划;调度性任务

一次性任务计划

    at :设置系统在某一个时间点执行任务,任务结果以邮件形式发送给任务发起者

    /etc/at.allow 任务执行白名单,仅允许此文件中的用户执行at

    /etc/at.deny 黑名单

at data_time

    at >at_command1

    at >at_command2

    at >ctrl + d 保存退出 

时间日期写法:

绝对时间:

    HH:MM 具体时间点

    DD.MM.YY 天 月 年

    YY-MM-DD

    MM/DD/YY

相对时间:

    at now + 3minutes

 at - l 查看系统中at任务列表,相当于atq

    -r 删除系统中at任务列表,相当于atrm

    -d 如上

   -c 列出后续at任务的具体指令内容

 

systemctl start atd

systemctl enable atd

systemctl status atd

linux设置at任务后,会在/var/spool/at中生成at任务计划的文件,执行顺序按照文件名的排序执行

 

    batch:用法和at相同,但其计划是在CPU空闲时执行,当平均负载小于0.8时执行batch任务

uptime 查看CPU平均负载

 

周期性任务计划

系统周期性任务:
    日志轮换:logroate

    登陆文件分析:logwatch

    创建locate数据库:updatedb

    创建man帮助信息数据库:

        centos 6 makewhatis 

        centos7 mandb

用户周期性任务

    cron 设置周期性任务计划

    anacron 当cron 由于某种原因没有执行,ancron重新执行任务

 

systemctl start cron

systemctl enable cron

systemctl status cron

 

/etc/cron.allow 白名单

/etc/cron.deny 黑名单

 

cron相关配置文件:

/etc/crontab cron配置文件

/etc/cron.d 辅助配置文件

/var/spool/cron 用户cron任务计划的配置文件,用户设置完cron任务后,会在/var/spool/cron生成以用户名为名称的cron文件

crontab 设置 查看 删除cron任务计划

- e 编辑cron任务内容

- u 为指定用户

- l 查看cron任务列表

- r 删除所有cron列表

 

设置cron任务语法

系统设置: 分时日月周 用户 命令

用户设置:分时日月周  命令

周 0 和 7都代表周日

 

时间的特殊写法:

通配 * 代表任意时间

离散时间段 逗号

连续时间段 中横线(-)

间隔时间段  */n  

 

cron.hourly 由cron工具去执行

cron.daily weekly monthly 由anacron工具去执行

cron设置任务计划时注意事项;

CPU和内存资源集中使用时的问题

取消一些不必要的输出:设置命令时可以重定向输出

时间的检验:设置时间时,周与日月不可并存

安全的检验;借有/var/log/cron的内容查看cron任务计划中是否有非法任务

环境变量:系统命令查找和cron任务命令位置由$PATH变量决定,设置cron任务时,使用命令的绝对路径

 

anacron 当cron 由于某种原因没有执行,ancron重新执行任务

配置文件 /etc/anacrontab

anacron 语法:

 anacron 选项  job

    - s 依据时间记录文件判断是否执行

    - f 强制执行

    -  n 立刻执行未执行的任务,不需要延迟

anacron执行流程:

1 由/etc/anacrontab 分析cron.daily天数为1天

2 由 /var/spool/anacron/cron.daily取出最近一次执行anacron时间戳

3 由2 步骤分析出的时间戳和cron任务进行比较,查看哪些cron任务超过1天时间没有执行

4 准备执行指令,根据/etc/anacrontab 的设置,将延时执行

5 延时时间后,执行

 

 

 

 

 

 

[展开全文]

授课教师

课程特色

视频(102)
下载资料(1)