Pourquoi convertir TIMER en CRON ?
Un .timer systemd et une tâche cron planifient tous deux des commandes récurrentes, de sorte que les administrateurs quittant systemd souhaitent que la même planification soit exprimée en syntaxe .CRON. L'expression de calendrier OnCalendar= correspond parfaitement aux champs minute-heure-jour-mois-jour de la semaine de cron pour la plupart des planifications courantes.
Comment convertir TIMER en CRON
crontab + mappage manuel FREE
Exécutez crontab -e et ajoutez une ligne dont les cinq champs temporels correspondent au minuteur, par exemple OnCalendar=*-*-* 02:00:00 devient 0 2 * * * /chemin/vers/commande.
systemd-analyze calendar FREE
Exécutez systemd-analyze calendar "*-*-* 02:00:00" pour confirmer les heures exactes des prochaines exécutions de la valeur OnCalendar avant de la traduire en champs cron.
À propos de ces formats
Un fichier .timer est une unité systemd qui planifie l'exécution d'une autre unité (généralement un fichier .service correspondant) sous Linux, agissant comme un remplacement moderne de…
Ouvrir les détails de .TIMER →Un fichier .CRON est associé à Unraid OS Cron data, un fichier de type misc.
Ouvrir les détails de .CRON →Qualité et points de vigilance
- Seule la planification est déplacée ; la commande, l'environnement et l'utilisateur proviennent du fichier
.serviceassocié et doivent être ajoutés par vous-même à la ligne cron. - Les options supplémentaires de systemd comme
Persistent=(rattrapage après un arrêt),RandomizedDelaySec=et les fenêtres de précision n'ont pas d'équivalent cron et sont perdues. - Les expressions
OnCalendarcomplexes ou à la sous-minute ne peuvent pas être représentées dans la syntaxe cron à cinq champs limitée à la minute.
Foire aux questions
Existe-t-il un convertisseur automatique de timer vers cron ?
OnCalendar= aux champs cron, en vérifiant éventuellement avec systemd-analyze calendar et crontab.guru.D'où vient la commande pour la ligne cron ?
ExecStart= dans l'unité .service correspondante que le minuteur active.Comment convertir les planifications de style `@daily` ?
OnCalendar=*-*-* 00:00:00 équivaut à @daily ou 0 0 * * * dans cron.Les exécutions de rattrapage fonctionneront-elles toujours ?
Persistent=true.