Zum Inhalt springen
100% lokal

Cron zu systemd-Timer

Wandeln Sie einen Cron-Ausdruck in ein fertig einsetzbares Paar aus systemd .timer und .service Unit um.

Eingabe
Ausgabe

Cron zu systemd-Timer

Fügen Sie einen Cron-Ausdruck — wie ihn aus einer Crontab wie `0 3 * * *` oder `*/15 9-17 * * 1-5` — ein, und dieses Tool konvertiert ihn in einen systemd `OnCalendar=`-Wert, dann montiert es die vollständige `.timer`-Unit und ihre entsprechende `.service`-Unit darum. Die Migration eines Servers von Cron zu systemd bedeutet normalerweise, diese Übersetzung für jeden Job von Hand durchzuführen; dieses Tool macht es sofort und korrekt, einschließlich der Feldexpansion für Schritte und Bereiche.

Legen Sie den Unit-Namen und den auszuführenden Befehl fest, und optional den Benutzer und das Arbeitsverzeichnis, das der Service verwenden soll. Zufällige Verzögerung fügt `RandomizedDelaySec=` hinzu, damit eine Flotte von Servern nicht alle gleichzeitig aufwacht; Persistent fügt `Persistent=true` hinzu, damit ein verpasster Lauf, während die Maschine aus war, so schnell wie möglich ausgelöst wird. Eine Zeitzone setzt einem IANA-Zonennamen vor jede Zeitplanzeile, statt sich auf die lokale Zeit des Systems zu verlassen. Fügen Sie mehrere Cron-Zeilen gleichzeitig ein, um einen Timer mit mehreren `OnCalendar=`-Einträgen zu erstellen — praktisch für einen Job, der früher mehr als eine Crontab-Zeile hatte.

Schalten Sie die Beschreibung in verständlicher Sprache ein, um einen einzeiligen Kommentar über jeden Zeitplan zu erhalten, der erklärt, wann er ausgeführt wird, in Ihrer Sprache. Das Tool achtet auch auf eine Cron-Konstruktion, die systemd wirklich nicht reproduzieren kann: Wenn sowohl der Tag des Monats als auch der Wochentag eingeschränkt sind, behandelt Cron sie als ODER, während systemds OnCalendar sie immer UND — wenn das passiert, wird ein Warnkommentar hinzugefügt, damit die Nichtübereinstimmung nicht still ausgeliefert wird. Ein Feld außerhalb des Bereichs oder ein Ausdruck mit der falschen Anzahl von Feldern wird als klarer Fehler gemeldet, statt geraten zu werden.

Alles läuft in Ihrem Browser — der Cron-Ausdruck und die Unit-Datei verlassen Ihr Gerät nie. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter, um es in `/etc/systemd/system/` zu verschieben, oder senden Sie es an ein anderes Tool, um weiter daran zu arbeiten.

Häufige Fragen

Warum enthält die Ausgabe zwei Units?
Ein systemd-Timer dient nur der Planung; er benötigt eine entsprechende .service-Unit, um tatsächlich den Befehl auszuführen. Das Tool generiert beide, verbunden mit Unit=.
Kann ich mehr als eine Cron-Zeile gleichzeitig konvertieren?
Ja. Fügen Sie mehrere Ausdrücke, jeden in einer eigenen Zeile, ein und sie werden zu mehreren OnCalendar=-Einträgen in einer einzigen Timer-Unit für denselben Befehl.
Was bedeutet die Warnung zum Wochentag/Monatstag?
Cron feuert, wenn eines der Felder passt, wenn beide eingeschränkt sind; systemds OnCalendar erfordert, dass beide passen. Das Tool warnt Sie, wenn dies den Zeitplan ändert, anstatt ihn still zu konvertieren.
Unterstützt es @daily, @hourly und die anderen Cron-Makros?
Ja, zusammen mit @weekly, @monthly, @yearly und @annually/@midnight, erweitert auf ihre standardmäßigen fünf Felder vor der Konvertierung.
Wird mein Cron-Ausdruck oder Befehl irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser — nichts, was Sie eingeben, wird an einen Server gesendet.