Preskoči na sadržaj
100% lokalno

Cron u systemd timer

Pretvori cron izraz u gotov par systemd .timer i .service jedinica.

Unos
Rezultat

Cron u systemd timer

Zalijepi cron izraz — onaj kakav bi stavio u crontab, kao `0 3 * * *` ili `*/15 9-17 * * 1-5` — i ovaj alat ga pretvara u systemd `OnCalendar=` vrijednost, zatim sastavljajući kompletan `.timer` i njegova poklapajuća `.service` jedinica oko nje. Migracija poslužitelja sa crona na systemd obično znači ručno prevođenje za svaki posao; ovaj alat to radi trenutno i ispravno, uključujući proširenje polja za korake i raspone.

Postavi naziv jedinice i naredbu za pokretanje, te opcionalno korisnika i radni direktorij koje servis trebao koristiti. Nasumično kašnjenje dodaje `RandomizedDelaySec=` kako flota poslužitelja ne bi sve odjednom ustala; Persistent dodaje `Persistent=true` kako se posao koji je propušten dok je stroj bio isključen pokrene čim se vratimo. Vremenska zona dodaje IANA naziv zone svakoj liniji rasporeda umjesto oslanjanja na lokalnu vremenu sustava. Zalijepi nekoliko cron linija odjednom kako bi sagradio jedan timer sa nekoliko `OnCalendar=` stavki — zgodno za posao koji je nekada imao više od jedne crontab linije.

Uključi opis običnog jezika kako bi dobio jednolinijski komentar iznad svakog rasporeda koji objašnjava kada se izvršava, na tvom jeziku. Alat također pazi na jednu cron konstrukciju koju systemd zaista ne može reproducirati: kada su i dan-u-mjesecu i dan-u-sedmici ograničeni, cron ih tretira kao OR dok systemd-ov OnCalendar ih uvijek AND-a — kada se to dogodi, upozorenje je dodano kako mismatch ne bi išao tiho. Polje izvan dozvoljenog raspona ili izraz s pogrešnim brojem polja je prijavljen kao običan error umjesto pogađanja.

Sve se izvršava u tvojoj pregledniku — cron izraz i datoteka jedinica nikad ne napuštaju tvoj uređaj. Kopiraj rezultat, preuzmi ga kao .txt datoteku za ispuštanje u `/etc/systemd/system/`, ili ga pošalji drugom alatu kako bi nastavio s radom.

FAQ

Zašto rezultat uključuje dvije jedinice?
systemd timer samo raspoređuje; trebat mu je poklapajuća .service jedinica da zapravo pokrene naredbu. Alat genira obje, povezane s Unit=.
Mogu li pretvoriti više od jedne cron linije odjednom?
Da. Zalijepi nekoliko izraza, jedan po redku, i oni postanu nekoliko OnCalendar= stavki u jednoj timer jedinici za istu naredbu.
Što znači upozorenje o dan-u-mjesecu/dan-u-sedmici?
cron se pokreće kada bilo koje polje odgovara ako su oba ograničena; systemd-ov OnCalendar zahtijeva da oba odgovaraju. Alat te upozoruje kada ovo mijenja raspored umjesto da ga pretvara tiho.
Podržava li @daily, @hourly i druge cron makroe?
Da, zajedno s @weekly, @monthly, @yearly i @annually/@midnight, razvojeni u njihove standardne pet-poljske ekvivalente prije konverzije.
Jesu li moj cron izraz ili naredba učitani negdje?
Ne. Konverzija se izvršava potpuno u tvoj pregledniku — ništa što napišeš se ne šalje na poslužitelj.