一、概述:任務調度:系統在某個時間執行的特定命令或程式
任務調度分類:
1.系統工作任務:系統中某些重要的周期性工作,如:系統備份,殺毒等
2.使用者工作任務:使用者操作執行的程式
任務調度檔案位置:
/etc/crontab
編輯調度檔案的命令:
crontab -e
執行:
調度任務進程會在滿足預設時間條件後自動執行
二、執行個體講解:
單任務調度:
執行個體實現:每分鐘將系統時間追加至 mydate2 檔案
分步命令:
1. 顯示系統時間命令:date
2. 把系統時間寫入文本mydate:date > /home/mydate2
3. 每分鐘將系統時間追加至 mydate2 檔案: date >> /home/mydate2
4. 寫入調度檔案的命令內容:* * * * * date >> /home/mydate2
操作截圖:
1.進入調度檔案命令:
2. 編輯調度檔案,點擊“ESC”鍵,輸入 :wq 按斷行符號儲存
3. 控制台回顯“crontab:installing new crontab” 表示添加調度任務成功。等幾分鐘後,用" ls -l " 查看 mydate2 檔案已產生。
4. 運行命令:cat mydate2 查看調度任務結果如下:
5. 調度任務查看命令:crontab -l
6. 調入任務結束命令:crontab -r
執行此命令後 /etc/crontab 檔案的內容會被刪除
多任務調度:
方法一: 在crontab -e 命令下直接寫。不推薦
缺點:機械執行,調度任務增多時,調度檔案雜亂;修改調度檔案困難;多使用者執行時紊亂
方法二:把所有任務寫成一個shell 檔案。推薦
優點:可以利用shell 編程的特性寫變數,過程式控制制等
執行個體講解:
1. 編輯 shell 檔案:vi mytask.sh
2. 儲存 shell 檔案。編輯調度任務檔案內容,其實就是shell 檔案的路徑:
* * * * * /home/mytask.sh
3. 按道理來說,等幾分鐘之後就會有輸出結果,但是我們 ls 之後發現沒有輸出結果,我們注意到,mytask.sh 檔案沒有執行的許可權
4. 為 mytask.sh 分配執行許可權,查看mytask.sh 修改後許可權
5. 再過幾分鐘,就可以看到產生的 mytask.sh 檔案了