1. 程式人生 > 其它 >Linux中設定計劃任務

Linux中設定計劃任務

設定計劃任務的作用

*為了實現某一時間完成某個指定任務,如定時備份某個檔案和目錄,定時刪除某個檔案和目錄,定時啟動某個服務等等

使用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 當前使用者"