Hvorfor konvertere TIMER til CRON?
En systemd .timer og en cron-jobb planlegger begge repeterende kommandoer, så administratorer som flytter bort fra systemd ønsker samme tidsplan uttrykt i .CRON-syntaks. OnCalendar=-uttrykket kan enkelt mappes til crons felt for minutt-time-dag-måned-ukedag for de fleste vanlige tidsplaner.
Hvordan konvertere TIMER til CRON
crontab + manuell mapping FREE
Kjør crontab -e og legg til en linje der de fem tidsfeltene samsvarer med timeren, f.eks. blir OnCalendar=*-*-* 02:00:00 til 0 2 * * * /sti/til/kommando.
systemd-analyze calendar FREE
Kjør systemd-analyze calendar "*-*-* 02:00:00" for å bekrefte de nøyaktige neste kjøretidene for OnCalendar-verdien før du oversetter den til cron-felt.
Om disse formatene
En .timer-fil er en systemd-enhet som planlegger når en annen enhet (vanligvis en tilsvarende .service-fil) skal kjøre på Linux, og fungerer som en moderne erstatning for cron. Det er en…
Åpne .TIMER-detaljer →En .CRON-fil er assosiert med Unraid OS Cron data, en misc-fil.
Åpne .CRON-detaljer →Kvalitet og hva du bør passe på
- Bare tidsplanen flyttes; kommandoen, miljøet og brukeren kommer fra den tilhørende
.service-filen og må legges til i cron-linjen selv. - systemd-tillegg som
Persistent=(ta igjen etter nedetid),RandomizedDelaySec=og nøyaktighetsvinduer har ingen cron-ekvivalent og går tapt. - Under-minutt eller komplekse
OnCalendar-uttrykk kan ikke representeres i crons fem-felts syntaks på minuttnivå.
Ofte stilte spørsmål
Finnes det en automatisk timer-til-cron-konverterer?
OnCalendar=-planen til cron-felt manuelt, og eventuelt verifisere med systemd-analyze calendar og crontab.guru.Hvor kommer kommandoen for cron-linjen fra?
ExecStart= i den samsvarende .service-enheten som timeren aktiverer.Hvordan konverterer jeg tidsplaner i `@daily`-stil?
OnCalendar=*-*-* 00:00:00 tilsvarer @daily eller 0 0 * * * i cron.Vil «ta igjen»-kjøringer fortsatt fungere?
Persistent=true gjør.