-
計劃任務
鎖定
計劃任務是系統的常見功能,利用任務計劃功能,可以將任何腳本、程序或文檔安排在某個最方便的時間運行。任務計劃在每次系統啓動的時候啓動並在後台運行。
- 中文名
- 計劃任務
- 外文名
- scheduled tasks
- 對 象
- 腳本、程序或文檔
目錄
計劃任務簡介
在使用的計算機/服務器中都是含有類似計劃任務的功能。
計劃任務Windows計劃任務程序
計劃任務關於任務計劃程序
任務計劃程序使您能夠在所選計算機上自動執行例行任務。Task Scheduler通過監視您選擇的任何條件(稱為觸發器)來執行此操作,然後在滿足這些條件時執行任務。
計劃任務開發者
任務計劃程序以這些形式提供API。
- Task Scheduler 2.0:分別為C ++和腳本開發提供了接口和對象。
- Task Scheduler 1.0:為C ++開發提供了接口。
計劃任務運行時間要求
任務計劃程序需要以下操作系統。
- 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 命令。
計劃任務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
- 參考資料
-
- 1. Task Scheduler for developers - Win32 apps | Microsoft Docs .開發人員工具、技術文檔和代碼示例 | Microsoft Docs[引用日期2020-11-14]