7.例行性工做排程



at相关文件linux

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

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

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

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

 


cron相关文件app

/usr/bin/crontabui

/var/spool/cron/  ----相应的,这是cron的,不事后面还会以帐号做为判断【1-8】spa

/etc/cron.allow       rest

/etc/cton.denyserver

/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 

相关文章
相关标签/搜索