繁體中文
Appearance
繁體中文
Appearance
Task Scheduler(工作排程器)用於在 WSL 中自動化定期任務,避免重複性的手動維護操作。它提供了一個視覺化的管理介面,讓您無需記憶複雜的命令列參數即可建立和管理排程任務。
本功能範例場景:
所有任務統一歸集到 Windows 工作排程程式的 \WSLDashboard\UserTasks\ 路徑下,方便集中檢視和管理。您可以在介面中即時檢視任務狀態(就緒 / 執行中 / 已停用)。
您可以從下面的社群倉庫下載範例腳本(備份發行版),快速上手:
https://github.com/owu/wsl-community
這是一個使用者共建的程式碼倉庫,歡迎您提交 Pull Request 來貢獻腳本或分享最佳實踐。
每個排程任務可以配置要執行的命令(指令碼或可執行程式),支援以下選項:
| 配置項 | 說明 |
|---|---|
| 執行命令 | 要執行的指令碼或可執行程式路徑,支援 .bat, .ps1, .cmd, .exe, .py 等格式。可透過「瀏覽」按鈕選擇檔案。 |
| 命令參數 | 傳遞給命令的額外參數,可選。 |
| 管理員權限 | 勾選後,任務將以最高權限執行,適用於需要 UAC 提高權限的操作。 |
建立任務後,您可以對任務執行以下操作:
| 操作 | 說明 |
|---|---|
| 立即執行 | 強制觸發任務立即執行,不受排程規則限制。 |
| 啟用/停用 | 暫停或恢復任務的自動排程。 |
| 刪除 | 從工作排程程式中移除任務。 |
任務排程採用標準的 5 欄位 Cron 運算式來定義執行規則,格式如下:
分鐘 小時 日 月 星期| 欄位 | 取值範圍 | 說明 |
|---|---|---|
| 分鐘 | 0 - 59 | 每小時的第幾分鐘執行 |
| 小時 | 0 - 23 | 每天的第幾小時執行 |
| 日 | 1 - 31 | 每月的第幾天執行 |
| 月 | 1 - 12 | 每年的第幾個月執行 |
| 星期 | 0 - 7 | 0 和 7 都表示星期日 |
每個欄位支援以下語法:
* —— 符合所有值(例如 * * * * * 表示每分鐘執行一次)*/N —— 每隔 N 個單位執行一次(例如 */5 * * * * 表示每 5 分鐘執行一次)0 9 * * 1 表示每週一上午 9:00 執行)注意:不支援逗號分隔的多個值(如
1,15)和範圍運算式(如1-5),更多限制請參見下方的注意事項。
本軟體未執行原生的 Cron 守護行程,而是將 Cron 運算式翻譯為 Windows 工作排程程式(schtasks.exe) 的觸發器參數。為了準確對應,解析器中僅硬編碼支援以下 7 種組合模式,涵蓋絕大多數定時任務場景:
| # | 模式 | 說明 | 適用場景 |
|---|---|---|---|
| 1 | * * * * * | 每分鐘執行 | 監控類、即時偵測類任務 |
| 2 | */N * * * * | 每 N 分鐘執行一次 | 週期性檢查任務 |
| 3 | M * * * * | 每小時的第 M 分鐘執行(如 3 * * * *) | 整點任務 |
| 4 | M H * * * | 每天的 H 點 M 分執行(如 0 3 * * *) | 日常維護,如每天凌晨清理日誌 |
| 5 | M H * * DOW | 每週特定星期幾的 H 點 M 分執行(如 0 12 * * 1) | 每週例行任務,如每週一備份資料 |
| 6 | M H D * * | 每月特定日期的 H 點 M 分執行 | 月度任務,如每月 1 號產生報表 |
| 7 | M H D MON * | 每年特定月份和日期的 H 點 M 分執行 | 年度任務,如指定某月執行 |
如果運算式不屬於以上 7 種模式,系統將視為
Unsupported cron pattern並拒絕建立。
由於底層基於 Windows 工作排程程式實現,本軟體的 Cron 解析器與標準 Linux Cron 存在以下差異:
,)和範圍(-) 標準 Cron 允許透過逗號定義多個離散的時間點(如 1,15,30 * * * * 表示第 1、15、30 分鐘),或透過連字號定義範圍(如 1-5 * * * * 表示第 1 到 5 分鐘)。
本軟體的限制: 每個欄位只能填寫單一數字、星號(*) 或步長(*/N),不支援逗號和連字號。
標準 Cron 允許任意欄位的自由組合(如 * 3 * * * 表示每天凌晨 3 點這個小時內的每一分鐘),但本軟體僅支援上方列出的 7 種固定模式,不在此範圍內的運算式將被拒絕。
在標準 Cron 中,*/5 * * * * 嚴格對齊到時鐘的 0、5、10、15... 分鐘。本軟體將其翻譯為 Windows 的 /SC MINUTE /MO 5 參數,Windows 的處理邏輯是從任務建立或啟用那一刻起計算間隔。
例如,如果您在 10:02 儲存並啟用了每 5 分鐘執行一次的任務,它將在 10:07 首次執行,接著是 10:12,而非對齊到標準時鐘的 10:05。