Przejdź do treści
100% lokalnie

Cron do systemd timer

Zamień wyrażenie cron na gotowe jednostki systemd .timer i .service.

Wejście
Wynik

Cron do systemd timer

Wklej wyrażenie cron — typ, który wstawiłbyś do crontaba, taki jak `0 3 * * *` lub `*/15 9-17 * * 1-5` — a to narzędzie konwertuje go na wartość systemd `OnCalendar=` a następnie buduje jednostki `.timer` i pasującą jednostkę `.service` wokół niego. Migracja serwera z cronu do systemd zwykle oznacza ręczne tłumaczenie każdego zadania; to robi to natychmiast i prawidłowo, w tym rozszerzanie pól dla kroków i zakresów.

Ustaw nazwę jednostki i polecenie do wykonania oraz opcjonalnie użytkownika i katalog roboczy, którego powinna używać usługa. Losowe opóźnienie dodaje `RandomizedDelaySec=` aby flota serwerów nie budziła się wszystkie naraz; Persistent dodaje `Persistent=true` aby przebieg pominięty podczas wyłączenia maszyny uruchomił się zaraz po powrocie. Strefa czasowa dołącza nazwę strefy IANA do każdego harmonogramu zamiast polegać na lokalnym czasie systemu. Wklej kilka linii crona naraz i stwórz jeden timer z kilkoma wpisami `OnCalendar=` — przydatne dla zadania, które kiedyś miało więcej niż jeden wiersz crontaba.

Włącz opis zwykłym językiem i uzyskaj jednolinijkowy komentarz nad każdym harmonogramem wyjaśniający kiedy się uruchomi, w Twoim języku. Narzędzie również obserwuje jedyną konstrukcję crona, którą systemd nie może naprawdę odtworzyć: gdy dzień miesiąca i dzień tygodnia są ograniczone, cron traktuje je jako LUB, podczas gdy systemd OnCalendar zawsze je I — gdy to się stanie, dodawany jest komentarz ostrzegawczy aby niezgodność nie została wysłana w milczeniu. Pole poza zakresem lub wyrażenie z nieprawidłową liczbą pól jest raportowane jako zwykły błąd zamiast zgadywania.

Wszystko działa w Twojej przeglądarce — wyrażenie cron i plik jednostki nigdy nie opuszczają Twojego urządzenia. Skopiuj wynik, pobierz go jako plik .txt i upuść do `/etc/systemd/system/`, lub wyślij go do innego narzędzia aby kontynuować pracę nad nim.

Częste pytania

Dlaczego wyjście zawiera dwie jednostki?
Systemd timer tylko planuje; potrzebuje pasującej jednostki .service aby faktycznie uruchomić polecenie. Narzędzie generuje oba połączone razem z Unit=.
Czy mogę konwertować więcej niż jeden wiersz crona naraz?
Tak. Wklej kilka wyrażeń, jeden na wiersz, i staną się wieloma wpisami OnCalendar= w jednej jednostce timeru dla tego samego polecenia.
Co oznacza ostrzeżenie dzień miesiąca/dzień tygodnia?
Cron uruchamia się gdy jedno pole się zgadza, jeśli oba są ograniczone; systemd OnCalendar wymaga aby oba się zgadzały. Narzędzie cię ostrzega gdy harmonogram się zmieni zamiast go po cichu konwertować.
Czy obsługuje @daily, @hourly i inne makra crona?
Tak, wraz z @weekly, @monthly, @yearly i @annually/@midnight, rozszerzone do ich standardowych pięciopulowych odpowiedników przed konwersją.
Moje wyrażenie cron lub polecenie jest gdzieś przesyłane?
Nie. Konwersja uruchamia się całkowicie w Twojej przeglądarce — nic co napiszesz nie jest wysyłane na serwer.