Vai al contenuto
100% locale

Cron a systemd timer

Converti un'espressione cron in una coppia di unità .timer e .service systemd pronta all'uso.

Ingresso
Uscita

Cron a systemd timer

Incolla un'espressione cron — quella che useresti in un crontab, come `0 3 * * *` o `*/15 9-17 * * 1-5` — e questo strumento la converte in un valore `OnCalendar=` systemd, quindi assembla l'unità completa `.timer` e la sua unità `.service` corrispondente. La migrazione di un server da cron a systemd di solito significa fare questa traduzione manualmente per ogni lavoro; questo lo fa istantaneamente e correttamente, inclusa l'espansione dei campi per passi e intervalli.

Imposta il nome dell'unità e il comando da eseguire, e facoltativamente l'utente e la directory di lavoro che il servizio deve utilizzare. Il ritardo casuale aggiunge `RandomizedDelaySec=` in modo che un parco di server non si risvegli tutto contemporaneamente; Persistente aggiunge `Persistent=true` in modo che un'esecuzione persa mentre la macchina era spenta si esegua non appena riparte. Un fuso orario aggiunge un nome di zona IANA a ogni riga di pianificazione invece di affidarsi all'ora locale del sistema. Incolla più righe cron contemporaneamente per costruire un timer con più voci `OnCalendar=` — utile per un lavoro che aveva più di una riga nel crontab.

Attiva la descrizione in linguaggio naturale per ottenere un commento su una riga sopra ogni pianificazione spiegando quando viene eseguita, nella tua lingua. Lo strumento monitora anche l'unico costrutto cron che systemd non può davvero riprodurre: quando sia il giorno del mese che il giorno della settimana sono limitati, cron li tratta come OR mentre OnCalendar di systemd li E sempre — quando ciò accade, viene aggiunto un commento di avviso in modo che la discrepanza non venga inviata silenziosamente. Un campo fuori intervallo o un'espressione con un numero errato di campi viene segnalato come un errore semplice invece di essere indovinato.

Tutto viene eseguito nel tuo browser — l'espressione cron e il file dell'unità non lasciano mai il tuo dispositivo. Copia il risultato, scaricalo come file .txt da mettere in `/etc/systemd/system/`, o invialo a un altro strumento per continuare a lavorarci.

FAQ

Perché l'output include due unità?
Un timer systemd solo pianifica; ha bisogno di un'unità .service corrispondente per eseguire effettivamente il comando. Lo strumento genera entrambi, collegati con Unit=.
Posso convertire più di una riga cron contemporaneamente?
Sì. Incolla più espressioni, una per riga, e diventano più voci OnCalendar= in una singola unità timer per lo stesso comando.
Cosa significa l'avviso giorno del mese/giorno della settimana?
cron si attiva quando uno dei due campi corrisponde se entrambi sono limitati; OnCalendar di systemd richiede sempre che entrambi corrispondano. Lo strumento ti avvisa quando questo cambia la pianificazione invece di convertirla silenziosamente.
Supporta @daily, @hourly e le altre macro cron?
Sì, insieme a @weekly, @monthly, @yearly e @annually/@midnight, espansi ai loro equivalenti standard a cinque campi prima della conversione.
La mia espressione cron o il mio comando vengono caricati da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — niente di quello che digiti viene inviato a un server.