Skip to content

Harmonogram zadań ​

Harmonogram zadań (Task Scheduler) służy do automatyzacji okresowych zadań w WSL, eliminując powtarzalne ręczne czynności konserwacyjne. Zapewnia wizualny interfejs zarządzania, pozwalając tworzyć i zarządzać zaplanowanymi zadaniami bez zapamiętywania skomplikowanych parametrów wiersza poleceń.

Przykładowe scenariusze użycia tej funkcji:

  • Okresowe tworzenie kopii zapasowych dystrybucji WSL
  • Wykonywanie własnych skryptów lub poleceń

Wszystkie zadania są grupowane w ścieżce \WSLDashboard\UserTasks\ harmonogramu zadań Windows, co ułatwia scentralizowany przegląd i zarządzanie. W interfejsie możesz na bieżąco przeglądać stan zadań (gotowe / w trakcie / wyłączone).

Repozytorium skryptów społeczności ​

Możesz pobrać przykładowe skrypty (tworzenie kopii zapasowej dystrybucji) z poniższego repozytorium społeczności i szybko zacząć:

https://github.com/owu/wsl-community

To repozytorium tworzone wspólnie przez użytkowników — zapraszamy do wysyłania Pull Request, aby wnieść wkład w postaci skryptów lub podzielić się najlepszymi praktykami.

Wykonywanie poleceń ​

Konfiguracja polecenia ​

Dla każdego zaplanowanego zadania można skonfigurować wykonywane polecenie (skrypt lub program wykonywalny) z następującymi opcjami:

OpcjaOpis
Wykonywane polecenieŚcieżka do skryptu lub programu wykonywalnego; obsługiwane formaty .bat, .ps1, .cmd, .exe, .py itp. Plik można wybrać przyciskiem „Przeglądaj”.
Parametry poleceniaDodatkowe parametry przekazywane do polecenia; opcjonalne.
Uprawnienia administratoraPo zaznaczeniu zadanie będzie uruchamiane z najwyższymi uprawnieniami — odpowiednie dla operacji wymagających podniesienia uprawnień UAC.

Operacje na zadaniach ​

Po utworzeniu zadania możesz wykonywać na nim następujące operacje:

OperacjaOpis
Uruchom terazWymuszenie natychmiastowego uruchomienia zadania, niezależnie od reguł harmonogramu.
Włącz/wyłączWstrzymanie lub wznowienie automatycznego harmonogramu zadania.
UsuńUsunięcie zadania z harmonogramu zadań.

Reguły harmonogramu ​

Wyrażenie Cron ​

Planowanie zadań używa standardowego wyrażenia Cron z 5 polami do definiowania reguł wykonania, format jest następujący:

Minuty Godziny Dni Miesiące Dni tygodnia
PoleZakres wartościOpis
Minuty0–59W której minucie godziny wykonywać
Godziny0–23O której godzinie dnia wykonywać
Dni1–31Którego dnia miesiąca wykonywać
Miesiące1–12W którym miesiącu roku wykonywać
Dni tygodnia0–70 i 7 oznaczają niedzielę

Każde pole obsługuje następującą składnię:

  • * — odpowiada wszystkim wartościom (np. * * * * * oznacza wykonanie co minutę)
  • */N — wykonanie co N jednostek (np. */5 * * * * — co 5 minut)
  • Pojedyncza liczba — odpowiada konkretnej wartości (np. 0 9 * * 1 — wykonanie o 9:00 w każdy poniedziałek)

Uwaga: nie są obsługiwane wartości rozdzielone przecinkami (np. 1,15) ani wyrażenia zakresów (np. 1-5); więcej ograniczeń znajdziesz w sekcji Uwagi poniżej.

Obsługiwane wzorce kombinowane ​

To oprogramowanie nie uruchamia natywnego demona Cron, lecz tłumaczy wyrażenie Cron na parametry wyzwalacza zadań planowanych Windows (schtasks.exe). Dla dokładnego odwzorowania analizator obsługuje tylko następujące 7 wzorców kombinowanych, pokrywających większość scenariuszy zadań okresowych:

#WzorzecOpisTypowy scenariusz
1* * * * *Wykonanie co minutęZadania monitorujące, zadania wykrywania w czasie rzeczywistym
2*/N * * * *Wykonanie co N minutOkresowe zadania kontrolne
3M * * * *Wykonanie w M-tej minucie każdej godziny (np. 3 * * * *)Zadania godzinowe
4M H * * *Wykonanie codziennie o H:M (np. 0 3 * * *)Codzienna konserwacja, np. czyszczenie logów nad ranem
5M H * * DOWWykonanie w określony dzień tygodnia o H:M (np. 0 12 * * 1)Zadania tygodniowe, np. kopia zapasowa danych w każdy poniedziałek
6M H D * *Wykonanie w określony dzień miesiąca o H:MZadania miesięczne, np. generowanie raportu 1. dnia miesiąca
7M H D MON *Wykonanie w określonym miesiącu i dniu o H:MZadania roczne, np. wykonanie w wybranym miesiącu

Jeśli wyrażenie nie należy do żadnego z 7 wzorców, system odrzuci jego utworzenie z komunikatem Unsupported cron pattern.

Uwagi ​

Ponieważ implementacja opiera się na harmonogramie zadań Windows, analizator Cron tego oprogramowania różni się od standardowego Crona w Linuksie w następujący sposób:

1. Brak obsługi list (,) i zakresów (-) ​

Standardowy Cron pozwala definiować wiele dyskretnych punktów czasu przez przecinek (np. 1,15,30 * * * * — minuty 1., 15. i 30.) lub zakresy przez łącznik (np. 1-5 * * * * — minuty od 1. do 5.).

Ograniczenie tego oprogramowania: w każdym polu można wpisać tylko pojedynczą liczbę, gwiazdkę (*) lub krok (*/N); przecinki i łączniki nie są obsługiwane.

2. Brak dowolnych kombinacji ​

Standardowy Cron dopuszcza dowolne kombinacje pól (np. * 3 * * * — każda minuta w ciągu godziny o 3 w nocy), ale to oprogramowanie obsługuje tylko 7 stałych wzorców wymienionych powyżej; wyrażenia spoza tego zakresu zostaną odrzucone.

3. Różnica wyrównania czasowego dla wzorców krokowych ​

W standardowym Cronie */5 * * * * jest ściśle wyrównany do 0, 5, 10, 15... minut zegara. To oprogramowanie tłumaczy go na parametr Windows /SC MINUTE /MO 5, a logika Windows oblicza interwał od momentu utworzenia lub włączenia zadania.

Na przykład, jeśli zapiszesz i włączysz zadanie uruchamiane co 5 minut o 10:02, wykona się ono po raz pierwszy o 10:07, następnie o 10:12, a nie o 10:05, jak przy standardowym wyrównaniu do zegara.