一、概述:任務調度:系統在某個時間執行的特定命令或程序
任務調度分類:
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 文件了