複製鏈接
請複製以下鏈接發送給好友

計劃任務

鎖定
計劃任務是系統的常見功能,利用任務計劃功能,可以將任何腳本、程序或文檔安排在某個最方便的時間運行。任務計劃在每次系統啓動的時候啓動並在後台運行。
當我們需要在服務器上定時執行一些重複性的事件時使用的,可以通過計劃任務程序來運行準備好的腳本、批處理文件夾、程序命令,在某個特定的時間運行。
中文名
計劃任務
外文名
scheduled tasks
對    象
腳本、程序或文檔

計劃任務簡介

在使用的計算機/服務器中都是含有類似計劃任務的功能。

計劃任務Windows計劃任務程序

計劃任務關於任務計劃程序

任務計劃程序使您能夠在所選計算機上自動執行例行任務。Task Scheduler通過監視您選擇的任何條件(稱為觸發器)來執行此操作,然後在滿足這些條件時執行任務。
Windows計劃任務程序 Windows計劃任務程序
使用任務計劃程序執行任務,例如啓動應用程序,顯示消息框。可以安排任務執行以響應這些事件或觸發器。 [1] 

計劃任務開發者

任務計劃程序以這些形式提供API。
  • Task Scheduler 2.0:分別為C ++和腳本開發提供了接口和對象。
  • Task Scheduler 1.0:為C ++開發提供了接口。

計劃任務運行時間要求

Windows計劃任務程序 Windows計劃任務程序
任務計劃程序需要以下操作系統。
  • Task Scheduler 2.0:客户端需要Windows Vista或更高版本。服務器需要Windows Server 2008或更高版本。
  • Task Scheduler 1.0:客户端需要Windows Vista或Windows XP。服務器需要Windows Server 2008或Windows Server 2003

計劃任務使用步驟

1.“管理工具” 裏面去找“任務計劃程序”或者“控制面板”裏面去找“計劃任務”,或者直接通過“開始”菜單搜索,不同的系統,名字和位置不一樣。
2. 打開“任務計劃程序” - 點擊“任務計劃程序庫” 在右則會看到操作項裏有“創建基本任務”和“創建任務”。這裏以“創建基本任務”為例。
3.點擊“創建基本任務” 後如圖所示:按嚮導一步步填寫,最後點完成後,列表裏會顯示出新加入的任務計劃。
4.到這裏,基本的任務就添加完了。

計劃任務Linux定時任務

linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啓動的。另外, 由於使用者自己也可以設置計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。
Crontab Crontab

計劃任務Linux crontab 命令

crontab是Linux用來定期執行程序的命令。
crond 命令每分鐘會定期檢查是否有要執行的工作,如果有要執行的工作便會自動執行該工作。
注意:新創建的 cron 任務,不會馬上執行,至少要過 2 分鐘後才可以,當然你可以重啓 cron 來馬上執行。
而 linux 任務調度的工作主要分為以下兩類:
  • 1、系統執行的工作:系統週期性所要執行的工作,如備份系統數據、清理緩存
  • 2、個人執行的工作:某個用户定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用户自行設置

計劃任務語法

crontab [ -u user ] file
或
crontab [ -u user ] { -l | -r | -e }
説明:
crontab 是用來讓使用者在固定時間或固定間隔執行程序之用,換句話説,也就是類似使用者的時程表。
-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如説是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。
參數説明
  • -e : 執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如説 setenv VISUAL joe)
  • -r : 刪除當前的時程表
  • -l : 列出當前的時程表
時間格式如下:
f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程序。
*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期幾 (0 - 7) (星期天 為0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一個月中的第幾天 (1 - 31)
|    +-------------------- 小時 (0 - 23)
+------------------------- 分鐘 (0 - 59)
使用者也可以將所有的設定先存放在文件中,用 crontab file 的方式來設定執行時間。

計劃任務實例

每一分鐘執行一次 /bin/ls:
* * * * * /bin/ls
在 12 月內, 每天的早上 6 點到 12 點,每隔 3 個小時 0 分鐘執行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
週一到週五每天下午 5:00 寄一封信給 alex@domain.name:
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
參考資料