Linux中設定計劃任務
阿新 • • 發佈:2022-05-25
設定計劃任務的作用
*為了實現某一時間完成某個指定任務,如定時備份某個檔案和目錄,定時刪除某個檔案和目錄,定時啟動某個服務等等
使用at設定計劃任務,at命令是一次性的,完成某個定時任務之後,就失效了
at 用法:
- at [選項] [時間] (這裡的時間是使用任務的時間)
- at 時間格式為
時間格式 | 說明 |
---|---|
HH:MM | 當天的HH:MM執行此任務,比如:19:00 |
HH:MM YYYY-MM-DD | 某年的某月某日執行此任務,比如:19:00 2022-05-25 |
選項 | 說明 |
---|---|
-l | 列出所有的計劃任務同atq |
-d | 刪除指定的計劃任務atrm |
-c | 檢視某個具體的任務 |
- 用at定義一個簡單計劃
# at 15:00
at> cat /yyds/a.txt #在at>後填寫任務內容
at> <EOT> #任務填寫完後,按ctl+D組合鍵儲存退出
- 使用at -l檢視任務(最前面的"1"是這個任務的任務ID)
- at -c [任務ID] 可以檢視具體任務的內容
使用crontab設定計劃任務,這個命令是永久性的,用來定期執行指定任務
crontab 用法:
- crontab [-u user] [檔案]|[選項] (不指定使用者,預設是當前使用者)
- crontab 命令常用選項
選項 | 說明 |
---|---|
-u user | 指定某個使用者來設定crontab |
-e | 編輯crontab時程表檔案 |
-l | 顯示crontab時程表任務 |
-r | 刪除crontab時程表任務 |
-i | 刪除crontab時程表檔案時,給出提示 |
- 用crontab制定定時任務
crontab -e 使用此命令會開啟vi|vim編輯器
需要輸入的格式為: 分鐘(空格)小時(空格)某個月份中的第幾日(空格)月份(空格)一個星期的第幾天(空格)執行的命令或程式
0 19 25 5 * echo "Hello World!" #這段意思是: 在5月25日19點整輸出 "Hello World!"(*表示沒有值) * * * * * echo "Hello World!" #比較特殊,指每分鐘執行一次 0 * * * * echo "Hello World!" #到每個整點時都會執行 0 8-20/3 * * * echo "Hello World!" #每天的8:00到20:00,每三小時執行一次
- 檢視定製的任務,因為沒有指定是哪個使用者,所以預設使用的都是當前的使用者
crontab -l 用來檢視當前使用者的時程表任務
crontab -r 用來刪除當前使用者的時程表任務
因為任務刪除了時程表為空,所以顯示為"no crontab for 當前使用者"