Zima Cron jest jednym z niewielu narzędzi do planowania zadań publikowanych bezpośrednio dla ZimaOS, a nie dodawanych jako ogólny kontener Docker. Samouczek IceWhale ze stycznia 2026 roku pokazuje, jak zainstalować je za pomocą zpkg, twórz zadania oparte na interwałach lub wyrażeniach cron, weryfikuj ich działanie w dziennikach i używaj ich do skryptów, kopii zapasowych lub rutynowej konserwacji.
W wątku źródłowym przedstawiono również drugą, istotną kwestię, którą skrócona wersja tego artykułu wcześniej nadmiernie uprościła: trwałość po ponownym uruchomieniu była różna w zależności od systemu. Niektórzy użytkownicy ZimaOS 1.5.3 i 1.5.4 utracili wszystkie zaplanowane zadania lub stwierdzili zima-cron.service nieaktywne po ponownym uruchomieniu, podczas gdy w czystym środowisku testowym zadania przetrwały ponowne uruchomienie. Właściwy wniosek brzmi zatem: „oficjalny harmonogram z zależnością trwałości od wersji”, a nie po prostu „zainstaluj i zapomnij”.
Zainstaluj Zima Cron za pomocą oficjalnego menedżera pakietów zpkg
Samouczek IceWhale rozpoczyna się w terminalu ZimaOS i wykorzystuje:
zpkg install zima_cron
Źródło wyraźnie stwierdza, że po instalacji nie jest wymagane ponowne uruchomienie. Zima Cron powinien następnie pojawić się na liście aplikacji w interfejsie internetowym ZimaOS.
zpkg.Utwórz bezpieczne zadanie testowe przed zaplanowaniem czegokolwiek ważnego
Oficjalny samouczek celowo wykorzystuje nieszkodliwe, jednominutowe zadanie rejestrowania zamiast destrukcyjnego polecenia konserwacyjnego. To dobra praktyka w przypadku każdego harmonogramu: najpierw sprawdź, czy backend wykonuje zadania, harmonogram jest poprawnie interpretowany, a dane wyjściowe są zapisywane w oczekiwanym miejscu, dopiero potem automatyzuj tworzenie kopii zapasowych lub ponowne uruchamianie usług.
Oficjalny przykład dopisuje znacznik czasu do pliku dziennika:
bash -c 'echo "$(date "+%Y-%m-%d %H:%M:%S") zima cron works" >> /DATA/zima_cron_test.log'
Ponieważ to polecenie tylko dopisuje tekst, nadaje się do sprawdzania harmonogramu bez modyfikowania stanu aplikacji.
Używaj harmonogramu interwałowego do prostych powtórzeń
Harmonogram interwałowy jest odpowiedni, gdy dokładna godzina nie ma znaczenia. Przykłady obejmują lekkie sprawdzanie stanu co kilka minut lub zadanie czyszczące uruchamiane co kilka godzin.
W przypadku ważnych zadań pamiętaj, że „co 24 godziny” nie zawsze oznacza to samo co „codziennie o 4:00”, zwłaszcza po ponownym uruchomieniu usług. Użyj wyrażenia cron, gdy liczy się konkretna godzina.
Używaj standardowych wyrażeń cron do harmonogramów opartych na kalendarzu
Oficjalny samouczek pokazuje również standardową składnię cron. Na przykład:
*/5 * * * *
uruchamia się co pięć minut. Standardowe wyrażenie cron może określać harmonogramy dzienne, tygodniowe, miesięczne lub właściwe dla konkretnych dni tygodnia, dzięki czemu Zima Cron jest bardziej elastyczny niż sam stały interwał.
Przed wdrożeniem skomplikowanego wyrażenia przetestuj je za pomocą nieszkodliwego polecenia rejestrowania i zweryfikuj co najmniej dwa pomyślne wykonania.
Weryfikuj wykonywanie w Zima Cron i w pliku wyjściowym
Kompletny test powinien sprawdzać zarówno interfejs harmonogramu, jak i oczekiwany skutek — na przykład nowe wiersze w /DATA/zima_cron_test.log. Pozwala to wykryć sytuacje, w których zadanie istnieje w interfejsie, ale jego polecenie kończy się niepowodzeniem z powodu uprawnień, ścieżek, cudzysłowów lub braku plików binarnych.
Planowanie ponownego uruchamiania aplikacji wymaga właściwej granicy polecenia
Użytkownik zapytał, jak codziennie o 4:00 ponownie uruchamiać Home Assistant. Wątek nie zawierał oficjalnego polecenia IceWhale do zarządzania konkretną zainstalowaną aplikacją, dlatego ten artykuł nie powinien go wymyślać. Zima Cron może uruchamiać polecenia powłoki, ale dokładne polecenie dla aplikacji zależy od sposobu zarządzania nią przez ZimaOS oraz od tego, czy ponowne uruchamianie jej poza warstwą zarządzania aplikacjami jest bezpieczne.
Używaj harmonogramu do poleceń, które zostały już ręcznie zweryfikowane. Nie przeprowadzaj pierwszego testu na produkcyjnym restarcie aplikacji.
Najważniejsze zastrzeżenie: niektórzy użytkownicy tracili zadania po ponownym uruchomieniu
26 stycznia użytkownik ZimaOS 1.5.3 zgłosił, że zapisane zadania znikały po ponownym uruchomieniu. 777-Spider odpowiedział, że IceWhale sprawdzi ten problem. Następnie kolejni użytkownicy odtworzyli podobne zachowanie, co uczyniło z niego rzeczywisty problem z niezawodnością, a nie jedynie jednorazowe nieporozumienie.
Później kontrolowana czysta instalacja podobno działała prawidłowo: zima-cron.service pozostawały aktywne, zadania nadal były widoczne po ponownym uruchomieniu, a rejestrowanie było kontynuowane. Wyglądało to obiecująco, ale nie był to koniec tej historii.
Czyste testy i testy w warunkach rzeczywistych dały różne wyniki
Jeden z późniejszych uczestników zainstalował Zima Cron za pomocą zpkg, utworzył zadanie, a następnie zgłosił po ponownym uruchomieniu, że zadania zniknęły i nie można było utworzyć nowych. Stan jego usługi wyglądał następująco:
zima-cron.service
Załadowano: załadowano
Aktywna: nieaktywna (zakończona)
Było to bezpośrednio sprzeczne z wynikiem uzyskanym na czystym systemie, gdzie usługa uruchamiała się automatycznie, a zadania pozostawały zachowane. Właściwa interpretacja jest taka, że problemy z zachowaniem zadań zależały od środowiska lub kompilacji i nie zostały jednoznacznie rozwiązane dla każdego użytkownika.
Co sprawdzić po ponownym uruchomieniu
W wątku zalecono sprawdzenie, czy usługa jest nadal aktywna i czy instalacja została wykonana prawidłowo za pomocą zpkg. W przypadku wdrożenia krytycznego minimalny zakres kontroli jakości po ponownym uruchomieniu powinien obejmować:
- Celowo uruchom ponownie maszynę z ZimaOS.
- Potwierdź, że Zima Cron nadal się wyświetla.
- Potwierdź, że zapisane zadanie jest nadal widoczne.
- Potwierdź, że usługa zaplecza jest aktywna.
- Poczekaj na następne zaplanowane wykonanie.
- Weryfikuj rzeczywisty wynik zadania, a nie tylko stan w interfejsie.
Problem z zachowaniem zadań był również publicznie zgłaszany
Projekt Zima Cron ma publiczne zgłoszenie opisujące utratę zadań i nieaktywną usługę po ponownym uruchomieniu. Zanim zaczniesz na nim polegać przy bezobsługowej konserwacji, sprawdź aktualny stan zgłoszenia dotyczącego zachowania zadań po ponownym uruchomieniu.
Nie używaj niesprawdzonego harmonogramu jako jedynego wyzwalacza kopii zapasowych
Zima Cron jest przydatny do automatyzacji, ale zaplanowana kopia zapasowa, która po ponownym uruchomieniu po cichu znika, jest gorsza niż ręczna kopia zapasowa, o której wiadomo, że się nie wykonała. Jeśli zadanie jest ważne, połącz testowanie harmonogramu z niezależnym sprawdzaniem stanu kopii zapasowych i weryfikacją odtwarzania.
Najczęściej zadawane pytania dotyczące Zima Cron
Czy polecenie instalacji Zima Cron jest oficjalne?
Tak. zpkg install zima_cron został opublikowany przez 777-Spider w samouczku IceWhale.
Czy można używać zwykłych wyrażeń cron?
Tak. Oficjalny samouczek obsługuje zarówno harmonogramy interwałowe, jak i standardowe wyrażenia cron.
Czy zadania na pewno przetrwają ponowne uruchomienie?
Na podstawie wątku źródłowego nie można udzielić uniwersalnej gwarancji. Niektóre testy na czystych systemach zakończyły się powodzeniem, podczas gdy inne systemy w wersji 1.5.x wielokrotnie traciły zadania lub pozostawiały nieaktywną usługę.
Co należy zrobić, zanim powierzę mu krytyczne zadanie?
Wykonaj rzeczywisty test ponownego uruchomienia, sprawdź, czy zadanie nadal jest zdefiniowane, i potwierdź, że polecenie wykonuje się po nim pomyślnie.
