1. 程式人生 > >linux任務排程基本說明

linux任務排程基本說明

  • 任務排程指的是系統在某個實踐執行特定的命令或程式
  • 任務排程可以分為兩種
    • 系統任務:有些重要的工作必須周而復始的執行,例如病毒掃描
    • 個別使用者工作:個別使用者希望執行某些程式,比如對資料庫的備份
  • 任務排程基本語法
crontab [選項]
  • 常用的選項
    • -e --------- 編輯crontab 定時任務
    • -l ----------- 查詢crontab任務
    • -f ----------- 刪除當前使用者所有的crontab
  • 如果是複雜的任務,應該寫一個指令碼來執行,如果是一些簡單的命令,可以直接在crontab命令下編輯
  • 例如:設定一個定時任務,每隔十分鐘,就將/temp/目錄的資訊,寫入到/temp/to.txt檔案中,在linux中可以這樣描述.
  • 使用 "crontab -e"命令編輯一個定時任務
crontab -e
  • 在編輯的時候,輸入以下內容(每個"*"後中間要使用空格區分)
*/1 * * * * ls -l /etc/ > /tmp/to.txt

在這裡插入圖片描述

以上內容中五個"*"佔位符分別表示

  1. 第一個"*"表示一小時中的某一分鐘---------範圍:0-59
  2. 第二個表示一天中的某一個小時------------範圍:0:23
  3. 第三個表示一個月中的某一天---------------範圍:1-31
  4. 第四個表示 一年中的某個月--------------範圍:1-12
  5. 第五個表示星期幾 -----------------------範圍:0-70和7都表示星期天
  • 其中的"/1"表示每個一個時間段執行,以上的命令中"/"用在了分鐘的數字前,表示,每隔一分鐘執行
  • "ls -l /etc/ > /tmp/to.txt"表示將/ect/目錄的資訊覆寫到/tmp/to.txt檔案中,如果沒有to.txt檔案,系統會自動建立
  • 儲存並退出,crontab編輯

在這裡插入圖片描述

  • 檢視/tmp/to.txt檔案內容

在這裡插入圖片描述

  • crontab 編輯中,除了"*/n"引數之外,還有其他的引數
特殊符號 描述
* 表示任何時間,第一個"*"代表一小時中每分鐘都執行一次
, 逗號表示不連續的時間,如果有個描述為"0 8,12,16 * * * ",這裡表示每天的8:00,12:00,16:00的時候執行程式
- 減號表示連續的時間範圍,例如"0 5 * * 0-6" ,就表示每週1到周天的5:00時候執行
*/n 表示每隔一段時時間執行一次,例如"/10 * * * * “,表示 每隔十分鐘執行一次,”/n"符號出現在不同的位置,意思也不同