Sări la conținut
Complet local

Cron la timer systemd

Convertiți o expresie cron într-o unitate systemd .timer și .service gata de utilizare.

Intrare
Ieșire

Cron la timer systemd

Lipiți o expresie cron — cum ar fi cea pe care o puneți într-o crontab, cum ar fi `0 3 * * *` sau `*/15 9-17 * * 1-5` — și acest instrument o convertește într-o valoare systemd `OnCalendar=`, apoi asamblează unitatea completă `.timer` și unitatea sa `.service` corespunzătoare. Migrarea unui server de la cron la systemd înseamnă de obicei traducerea manuală a acestuia pentru fiecare job; aceasta o face instant și corect, inclusiv expandarea câmpului pentru pași și intervale.

Setați numele unității și comanda de executat, și opțional utilizatorul și directorul de lucru pe care serviciul ar trebui să le folosească. Întârzierea aleatorie adaugă `RandomizedDelaySec=` pentru ca o flotă de servere să nu se trezească simultan; Persistent adaugă `Persistent=true` pentru ca o execuție pierdută în timp ce mașina era oprită să se declanșeze de îndată ce se repornește. Un fus orar adaugă un nume de zonă IANA la fiecare linie de program în loc să depindă de ora locală a sistemului. Lipiți mai multe linii cron simultan pentru a construi un timer cu mai multe intrări `OnCalendar=` — util pentru o sarcină care avea mai mult de o linie crontab.

Activați descrierea în limbaj simplu pentru a obține un comentariu pe o linie deasupra fiecărui program explicând când se execută, în propria limbă. Instrumentul monitorizează, de asemenea, singura construcție cron pe care systemd cu adevărat nu o poate reproduce: atunci când atât ziua din lună cât și ziua din săptămână sunt restricționate, cron le tratează ca SAU în timp ce OnCalendar-ul systemd întotdeauna le tratează ca ȘI — când se întâmplă aceasta, un comentariu de avertisment este adăugat pentru ca nepotrivirea să nu fie trimisă în tăcere. Un câmp în afara intervalului sau o expresie cu un număr greșit de câmpuri este raportată ca o eroare simplă în loc să fie ghicită.

Tot se execută în browser-ul dvs. — expresia cron și fișierul de unitate nu părăsesc niciodată dispozitivul dvs. Copiați rezultatul, descărcați-l ca fișier .txt pentru a-l plasa în `/etc/systemd/system/`, sau trimiteți-l unui alt instrument pentru a continua lucrul la el.

FAQ

De ce ieșirea include două unități?
Un timer systemd doar programează; are nevoie de o unitate .service corespunzătoare pentru a executa de fapt comanda. Instrumentul generează amândouă, legate între ele cu Unit=.
Pot converti mai mult de o linie cron simultan?
Da. Lipiți mai multe expresii, una per linie, și devin mai multe intrări OnCalendar= într-o singură unitate de timer pentru aceeași comandă.
Ce înseamnă avertismentul ziua din lună/ziua din săptămână?
cron se declanșează atunci când oricare câmp se potrivește dacă ambele sunt restricționate; OnCalendar-ul systemd necesită ca ambele să se potrivească. Instrumentul vă avertizează atunci când aceasta schimbă programul în loc să-l convertească în tăcere.
Suportă @daily, @hourly și alte macrocomenzi cron?
Da, împreună cu @weekly, @monthly, @yearly și @annually/@midnight, expandate la echivalentele lor standard cu cinci câmpuri înainte de conversie.
Expresia mea cron sau comanda sunt încărcate undeva?
Nu. Conversia rulează în întregime în browser-ul dvs. — nimic din ceea ce introduceți nu este trimis unui server.