Linux計劃任務

  咱們能夠經過一些設置。來讓電腦定時提醒咱們該作什麼事了。或者咱們提早設置好,告訴電腦你幾點作什麼幾點作什麼,這種咱們就叫它定時任務。而遇到一些須要執行的事情或任務。咱們也能夠經過命令來告訴電腦一會臨時把這個工做給作一下.html

  在咱們LINUX中,咱們能夠經過crontab和at這兩個東西來實現這些功能的spa

  計劃任務的做用:是作一些週期性的任務,在生產中的主要用來按期備份數據htm

  計劃任務的安排方式分兩種:blog

  一種是定時性的,也就是例行。就是每隔必定的週期就要重複來作這個事情.crontab

  一種是突發性的,就是此次作完了這個事,就沒有下一次了,臨時決定,只執行一次的任務.rem

at和crontab這兩個命令:it

at:它是一個能夠處理僅執行一次就結束的指令class

crontab:它是會把你指定的工做或任務,好比:腳本等,按照你設定的週期一直循環執行下去。test

一:at

    語法:  # at 時間軟件

    1.下載at 軟件   yum  -y install  at

    2. 啓動atd 服務 systemctl  start std

    3.設置任務

       at 10:00                          #若是是上午時間,後面加上am,好比9:20am

       at> touch /tmp/test1                         #輸入你要執行的命令

       at> <EOT>                                    #按ctrl+d保存

      job 1 at Fri Mar  1 10:00:00 2019

   4.查看計劃任務

      at -l                          #查看計劃任務

         Fri Mar  1 10:00:00 2019 a root

      atq                            #查看計劃任務

         Fri Mar  1 10:00:00 2019 a root

   5.刪除計劃任務  atm

          atrm   1                          #刪除計劃任務加上編號

at計劃任務特殊寫法

 

   at 20:00 2018-10-1   在某天
   at now +10min   在 10分鐘後執行
   at 17:00 tomorrow   明天下午5點執行
   at 6:00 pm +3 days   在3天之後的下午6點執行

  

二:Crontab 計劃任務的使用

    語法:#crontab -u  -e

          經常使用選項:

            -l:list,列出指定用戶的計劃任務列表

            -e:edit,編輯指定用戶的計劃任務列表

            -u:user,指定的用戶名,若是不指定,則表示當前用戶

             -r:remove,刪除指定用戶的計劃任務列表

crontab  -e  編輯時的語法:

 

0或者7都是表示星期天,另外在這個時間的表達式中,還有些特殊符號,意思以下:

四個符號:

*:表示取值範圍中的每個數字

-:作連續區間表達式的,要想表示1~7,則能夠寫成:1-7

/:表示每多少個,例如:想每10分鐘一次,則能夠在分的位置寫:*/10

,:表示多個取值,好比想在1點,2點6點執行,則能夠在時的位置寫:1,2,6

例:

天天凌晨2點1分:1 2 * * * 
每個月一、十、22日的4 : 45:45 4 1,10,22 * * 
每個月1到10日的4 : 45:45 4 1-10 *  *
每隔兩天的上午8點到11點的第3和第15分鐘:3,15 8-11 */2 *  *

  

注:在計劃任務中,默認的最小單位就是分,不能再小了;全部用戶的計劃任務,都會在/var/spool/cron/下產生對應的文件.