天天看點

centos7—計劃任務(at、cron)

計劃任務:讓計算機在指定的時間執行指定的事情

1、分類:一次性計劃任務:at(臨時的計劃任務)

               周期性計劃任務:cron

2、計劃任務管理:查atq、建立at、删除atrm

      注:伺服器重新開機一般都是晚上   淩晨2點

      at 時間

      atq   或  at  -l    查計劃清單

          eg.  at 20:00

                at> poweroff      關機

                at> ctrl+d

3、時間的寫法

      HH:MM   //18:30

      midnight   //0點 (午夜)

      noon   //12點 (中午)  

      teatime //16點(下午4點)

      AM  或   PM字尾指定一天的上午或下午。  //at  2:00 pm

      MMDDYY  、  MM/DD/YY 或 DD.MM.YY

      now + 計數  時間機關(minutes  、hours  、  days 或 weeks)

          eg. at now + 3 hours(從現在開始起三個小時後)

          eg. at 4pm  + 3 days   //三天以後的下午4點執行一個任務

               at 2am + tomorrom  //明天上午2點

               at 10am Jul 31   //7月31日上午10點

 案例一:淩晨2點備份/etc目錄 到 /tmp格式為 etc.tar.xz 

      at 02:00

      at> tar cvJf /tmp/etc.tar.xz /etc

      at> ctrl+d

4、檢視所有使用者的計劃任務

      atq

      at -l

5、檢視某個計劃任務的詳細内容

      at -c 工作号

6、删除計劃任務

      atrm 工作号 ...

      at -d 工作号 ...

 案例二:腳本方式建立at計劃任務.

      echo  'ls;date;pwd'  | at  3:00      #用管道符将任務傳給at指令

 案例三:用at将指定檔案(-f  檔案名)中的指令設為計劃任務.

      #首先,建立指令檔案

      vim /opt/aplan      #添加如下内容

          ls

          date

          pwd

          tar -czvf /tmp/etc.tar.gz /etc

7、at權限管理、安全

      /etc/at.allow      白名單:隻允許在此名單内的使用者使用at(此檔案本身不存在)

      /etc/at.deny      黑名單:在此名單内的使用者不可以使用at

      注:當兩個檔案都不存在,隻有root使用者可以使用at

            當兩個檔案都存在,allow優先執行

-----------------------------------------------------------

at服務管理:

查at軟體是否已安裝:pm -q at  

查at的檔案清單:rpm -ql at

查at的配置檔案清單:rpm -qc at

查at服務狀态:systemctl status atd   或   service atd status

重新開機at服務:systemctl restart atd   或   service atd restart

關閉at服務:systemctl stop atd   或   service atd stop

開機不啟動at服務:systemctl disable atd   或   chkconfig atd off

開機啟動at服務:systemctl enable atd   或   chkconfig atd on

at的其他檔案:

計劃檔案清單:ls   /var/spool/at2    每隔2小時     //1    */2   *  *   *  rm -rf /tmp1   *  *  *  rm -rf /tmp5 * * * *   root  指令   //每隔5分鐘以root身份去執行指令

以下目錄内可以存在腳本  該腳本就會按照時間去執行

      cd /etc

      cron.hourly/      #每小時

      cron.weekly/      #每周

      cron.daily/      #每天

      cron.monthly/      #每月

6、删除超過一個月不使用的檔案

      cat /etc/cron.daily/tmpwatch

7、crontab服務管理:

      查軟體是否已安裝:rpm  -q  crontabs

      查軟體的檔案清單:rpm  -ql  crontabs

      查軟體的配置檔案清單:rpm -qc crontabs

      服務狀态:systemctl   status   crond       注:d是daemon守護程序

      重新開機at服務: systemctl   restart   crond   或  service   crond  restart

      關閉at服務: systemctl   stop   crond   或  service   crond  stop

      開機不啟動at服務: systemctl   disable  crond 或 chkconfig   crond  off

      開機啟動at服務:  systemctl   enable   crond  或 chkconfig   crond  on

8、cron權限管理

/etc/cron.allow      白名單:隻允許在此名單内的使用者使用crontab(此檔案本身不存在)

/etc/cron.deny      黑名單:在此名單内的使用者不可以使用crontab

      注:兩個檔案都不存在,隻有root使用者可以使用crontab

             兩個檔案都存在,allow優先執行

繼續閱讀