Přeskočit na obsah
100% lokálně

Cron na systemd timer

Převeďte výraz cron na připravené jednotky systemd .timer a .service.

Vstup
Výstup

Cron na systemd timer

Vložte výraz cron — typ, který byste dali do crontabu, například `0 3 * * *` nebo `*/15 9-17 * * 1-5` — a tento nástroj jej převede na hodnotu systemd `OnCalendar=` a poté postaví jednotky `.timer` a odpovídající jednotku `.service` okolo ní. Migrace serveru z cronu na systemd obvykle znamená ruční překlad každého úkolu; toto to dělá okamžitě a správně včetně rozšíření polí pro kroky a rozsahy.

Nastavte název jednotky a příkaz ke spuštění a volitelně uživatele a pracovní adresář, který má služba používat. Náhodné zpoždění přidá `RandomizedDelaySec=` aby se loď serverů neobudila všechny najednou; Persistent přidá `Persistent=true` aby se běh zmeškaný během vypnutí stroje spustil jakmile se vrátil. Časová zóna připojí název IANA zóny ke každému plánu místo spoléhání na místní čas systému. Vložte několik cron řádků najednou a vytvořte jeden timer s několika položkami `OnCalendar=` — užitečné pro úkol, který kdysi měl více než jeden řádek crontabu.

Zapněte popis jednoduché řeči a získejte jednovrstvý komentář nad každým plánem, který vysvětluje kdy se spustí, v jazyce, který jste vybrali. Nástroj také sleduje jedinou cron konstrukci, kterou systemd skutečně nemůže reprodukovat: když jsou omezeny den v měsíci i den v týdnu, cron jejich považuje za NEBO, zatímco systemd OnCalendar je vždy PODTRHUJE — když se to stane, je přidán komentář s varováním aby se nesoulad neodeslal bez povšimnutí. Pole mimo rozsah nebo výraz s nesprávným počtem polí je nahlášeno jako běžná chyba místo hádání.

Všechno běží ve vašem prohlížeči — výraz cron a soubor jednotky nikdy neopustí vaše zařízení. Zkopírujte výsledek, stáhněte si jej jako soubor .txt a zrubte jej do `/etc/systemd/system/`, nebo jej odešlete jinému nástroji abyste na něm mohli pokračovat v práci.

Časté dotazy

Proč výstup obsahuje dvě jednotky?
Systemd timer pouze plánuje; potřebuje odpovídající jednotku .service aby skutečně spustil příkaz. Nástroj generuje obě propojené spolu s Unit=.
Mohu převést více než jeden řádek cron najednou?
Ano. Vložte několik výrazů, jeden na řádek, a stanou se více položkami OnCalendar= v jedné jednotce timeru pro stejný příkaz.
Co znamená varování den-v-měsíci/den-v-týdnu?
Cron se spustí když se shoduje jedno pole, pokud jsou obě omezena; systemd OnCalendar vyžaduje aby se obě shodovaly. Nástroj vás upozorní když se změní harmonogram místo aby ho tiše převedl.
Podporuje @daily, @hourly a ostatní cron makra?
Ano, spolu s @weekly, @monthly, @yearly a @annually/@midnight, rozšířené na jejich standardní pět-polové ekvivalenty před konverzí.
Moje výraz cron nebo příkaz je někde nahrán?
Ne. Konverze běží zcela ve vašem prohlížeči — nic co napíšete se neposílá na server.