zoukankan      html  css  js  c++  java
  • 7.例行性工作排程



    at相关文件

    var/spool/at/       ---at指令制定运行的工作排程会以文本的方式记录到这个文档中,等待atd执行

    /etc/inid.d/atd       ----atd服务程序

    /etc/at.allow            ----允许执行at命令的账号(有这个文件就不会理/etc/at.deny)

    /etc/at.deny            ----禁止使用at命令的账号(at.allow不存在才会检查这个文件),系统默认使用这个文件 


    cron相关文件

    /usr/bin/crontab

    /var/spool/cron/  ----相应的,这是cron的,不过后面还会以账号作为判断【1-8】

    /etc/cron.allow       

    /etc/cton.deny

    /var/log/cron      ----cron执行的每一个例行工作杜辉记录在这里

    /etc/crontab      ----系统的例行性任务,编辑后也许需要重新启动一下crond服务(/etc/init.d/crond restart)

    ancron相关文件

    /etc/anacrontab

    /var/spool/anacron/*


    linux上常见的例行性工作【1-1,2】

    1.  linux工作排程的种类:at,cron 【1-0】

            A:仅执行一次的工作排程 at【1-3,4】

                  # /etc/init.d/atd restart            ----启动atd(linux系统中负责单一工作排程的服务)

                  # chkconfig atd on                  ----设置atd服务开机自动启动

                一.实际运作单一工作排程 

                案例一:再过五分钟,将/root/.bashrc寄给root自己【1-5】

                  # at now + 5 minutes

                  at>/bin/mail root -s "testong at job"   < /root/.bashrc

                  at><EOT>          ----^d,代表结束

                  job 4 at 2013/11/30 15:38

                案例二:将上述的at工作(第4个)内容列出来【1-6】

                 # at -c 4              ----第4号at工作实际执行的脚本内容

                案例三:在2013/12/21 00:00关机

                 # at 00:00 2013-12-21

                 at>sync

                 at>sync

                 at>shutdown -h now

                 at><EOT>

                 job 5 at 2013-12-21 00:00

               案例四:在2013/12/20 4:00在终端机/dev/tty1显示“It is coming....”

                # at 04:00 1013-12-20

                at>echo "It is coming......" > /dev/tty1           ---at指令时和终端无关的,因此必须制定输出到某个终端

                at><EOT>

                二:at工作的管理atq,atrm,batch

                         案例一:查询目前主机上面有多少at工作排程

                           # atq            ----查看工作排程

                           # atrm 5          ----将5号单一工作排程干掉

                         案例二:让系统有空时才进行背景任务

                           # batch 00:00 2013-12-21          ----和上面的案例三相似,还是调用at来执行,不过会在cpu负载小于0.8是才执行,否则暂缓

                 at>sync

                 at>sync

                 at>shutdown -h now

                 at><EOT>

                 job 5  at 2013-12-21 00:00 

                # atq           ---你看baech也是atq和atrm管理的

                # atrm 6       ----假设该at任务为6

    B:循环执行的例行性工作排程

                注意:crond服务是系统默认随开机启动的;cron执行的每一个工作都会被记录到/var/log/cron中,因此这个检查这个文件有时候或许可以查杀木马

                一:使用者设定例行工排程

                       案例一:用nemo身份每天12:00发信给自己

                       # crontab -e           ----将进入vi编辑界面

                       #每项工作都是一行          

                       0 12 * * * mail nemo -s "at 12:00"  < /home/nemo/.bashrc   ----minute hour day month week   command【1-10】

                       

                       案例二:每年11月19号23:59发一封邮件给yxl

                       # crontab -e 

                      #女朋友的生日

                       59 23 19 11 * mail -s  "Happy birthday!" < /home/nemo/lover.txt

                      

                       案例三:每5分钟执行一次/home/nemo/test.sh

                     #crontab -e 

                      * /5 **** /home/nemo/test.sh 

                       案例四:每周六都和朋友有约,每周五16:30发一封邮件提醒他

                      # corn -e

                      30 16 * * 5 mail friend@his.server.name   < /home/nemo/friend.txt

                      

                      # cron -l          ---查看当前账号所有的cron工作

                      # cron -r         ----删除当前用户所有的cron工作排程(删除某个工作要cron -e在vi下删除对应那一行)

                  二:系统例行工作排程

                      # cat /etc/crontab             ----该档案中记录系统周期性例行任务【1-11]】

                      1.指令形态

                      注意:/ect/crontab这个档案支持两种指令下达的方式【1-12】

                      案例一:指令形态

                      01 × × ×  × nemo mail -s "testing" yxl  < /home/nemo/test.txt           ----以nemo的身份每小时执行一次这个mail指令

                      案例二:目录规划

                     × /5 × × × × root run-parts /root/runcrono               ----每5分钟以root身份执行一下/root/runcrono下的所有可执行文件

                     × /5 × × × × root run-parts /bin/mrtg  /etc/mrtg/mrtg.cfg         ----每5分钟侦测一下网络流量

                      

                      2.一些注意事项

                          a:资源分配不均【1-13】

                          b:取消不要的输出项目(数据流重导向)

                          c:安全检验(检查/var/log/cron)

                          d:周与日月不可同时并存

                  三:可唤醒停机期间的工作任务  anacron

                      1.什么是anacron【1-14,15】

                       # ll  /etc/cron*/*ana*       ----在每天、每周、每月的排程目录中都能找到anacron的脚本文件

                       # cat /etc/cron.daily/0anacron      ----看一下脚本文件的内容

                       # cat  /etc/anacrontab      ----查看anacron执行文档【1-16】

                       # more /var/spool/anacron/*       ----查看anacron的执行记录【1-17】

                       # anacron -a cro.daily            ----运作流程【1-18】

                       # chkconfig --list anacron      ----查看anacron是否会在开机时自动执行


    2.重点回顾【1-19】


    3.本章习题     

      习题一:工作排程中有一个指令产生很多不重要的信息,避免其发邮件给root

                 # vim /etc/crontab  

                 * /3 * * * *   root /usr/local/ping.sh > /dev/null 2>&1            ----标准错误信息和标准输出信息都丢弃(分 时 日 月 周 执行者 指令)       

     习题二:2013/12/21 寄一封信给yxl

                 # at 1am 2013-12-21

                 at>/bin/mail yxl -s "I will be with you forever" < /home/nemo/lastword.txt   

                 at><EOT>

     习题三:每个周一至周五的下午3:30执行以下/usr/local/bin/tea_time.sh

                 # cron -e

                 30 15 * * 1-5 /usr/local/bin/tes_time.sh

    习题四:系统每天、每周、每月各进行什么样的工作

                 # ll /etc/cron*

    习题五:每个星期六凌晨三点去系统搜寻一下内有SUID/SGID的任何档案!并将结果输出到/tmp/uidgid.files

                # vim /etc/crontab

                0 3 * * 6 root find / -perm +6000 > /tmp/uidgid.files 

  • 相关阅读:
    20200726 千锤百炼软工人第二十一天
    20200725 千锤百炼软工人第二十天
    20200724 千锤百炼软工人第十九天
    20200723 千锤百炼软工人第十八天
    20200722 千锤百炼软工人第十七天
    20200721 千锤百炼软工人第十六天
    剑指Offer_#64_求1+2+…+n
    剑指Offer_#63_股票的最大利润
    剑指Offer_#62_圆圈中最后剩下的数字
    剑指Offer_#61_扑克牌中的顺子
  • 原文地址:https://www.cnblogs.com/eli01/p/3559660.html
Copyright © 2011-2022 走看看