linux 計劃任務

 

計劃任務

1、爲什麼要設置計劃任務

       定時備份,定時重啓

       管理任務,定時將服務器信息發郵件,每天只需要收郵件,就能瞭解很多臺服務器的信息

      

2、主要分兩種

       一次性計劃任務

       週期性計劃任務

一、一次性計劃任務

指定的時間執行一次

1、指定時間的方式

       絕對計時方法:

              midnight午夜 noon中午 teatime下午茶(16:00)

              hh:mm[today]

              hh:mmtomorrow

              hh:mmMM/DD/YY

       相對計時方法:

              now+ n minutes

              now + n hours

              now+ n days

       具體看幫助 man at

 

2、如何設定系統時間

       系統時鐘 date

       設置日期 date -s '2013-05-14 11:27:00'

      

       硬件時鐘clock

       clock--systohc       將系統時間存回硬件時鐘內

       clock--hctosys      系統時間設成和硬件時鐘一致

 

3、任務設定

       指定在今天下午17:30執行某命令,假設當前時間是2013115

       at17:30

       at5:30pm

       at17:30 today

       atnow + 3 hours

       at17:30 01/15/13

       at17:30 15.01.13  如果用(.)表示日月年

 

       atnow + 5 minutes回車後,輸入要執行命令,寫完按ctrl+d保存

       命令最好寫絕對路徑(例如which ls將查詢到ls命令在哪裏)

 

       at now + 1 minutes

       /usr/bin/wall“hi,this is a test.”       一分種後發一個廣播

      

       查看計劃任務進程是否開啓ps -le| grep atd

       啓動進程/etc/rc.d/init.d/atd start

       默認都會安裝計劃任務並啓動

 

4、查看任務

       查看隊列中的任務

       at-l  atq

      

       存放在這裏

       ls/var/spool/at/的一個可執行文件,任務執行後文件消失

 

5、刪除任務

       刪除一次性計劃任務

       at-d 序號

 

6、執行權限

       at配置文件,哪些用戶可以使用at

       /etc/at.allow

       /etc/at.deny

              如果存在/etc/at.allow,只有在此文件中的用戶纔可以使用at命令

              如果存在/etc/at.deny,在此文件中的用戶不可使用at命令

              如果兩個文件都不存在,只有超級用戶可以使用at命令

              如果兩個文件都存在均爲空,則所有用戶都可以使用at命令

 

7、低負載計劃任務batch(擴展)

       batch用法與at一樣

       無需指定時間,安排在系統負載較輕時運行一次

       一般情況負載較低指0.8以下(wtop命令能看到)

      

二、週期性計劃任務

1crontab命令   [krn teibl]

 

       週期性計劃任務

       三個常用選項:

       -l     列出當前crontab

       -r     刪除當前的crontab      不建議用,直接用-e編輯就好

       -e    編輯當前的crontab文件

 

       crontab-e

2、計劃任務內容格式:     命令/腳本

       實例:

       每天04:00

       0   4  *   *   *  要執行的命令

      

       週二和週五18:00

       0   18 *   *   2,5  要執行的命令

      

       1月到3月份,週二和週五18:00

       0   18 *   1-3   2,5  要執行的命令

      

       週一到週五17:30發廣播,然後17:45分關機

       寫兩條計劃任務,不是隻能寫一條

       30 17  * *  1-5  /usr/bin/wall < /root/msg

       45 17  * *  1-5  /sbin/shutdown -h now

 

       中午12點到14點,每兩分鐘(偶數)

       */2  12-14 *   *  *   命令

       1-59/2     (奇數)

 

       寫命令時,有需要寫上出錯信息

              /bin/cp -r /etc /backup/etc.bak 2>>/backup/etc.bak.err

              2表示錯誤信息

      

       6,都不能爲空

      

3、特殊匹配符號

       多個值用       “,

       連續的值用    -”

       任何匹配       *

       步長              /n

 

4、執行命令

       命令給出絕對路徑

       用戶必須具有運行對應命令或程序的權限

      

       保存在 /var/spool/cron

 

       檢查crond進程是否開啓

       ps-le | grep crond

       /etc/rc.d/init.d/crondstart

 

5、權限設置

       限制哪些用戶可以使有crontab

              /etc/cron.allow

              /etc/cron.deny

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章