日本語
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 には合わせられません。