Pourquoi convertir TIMER en SERVICE ?
Dans systemd, ce sont les deux moitiés d'une même tâche : le .timer indique « quand » et le .SERVICE indique « quoi ». La tâche concrète n'est donc pas une conversion mais l'écriture de l'unité de service correspondante que le timer déclenche, soit par correspondance de nom par défaut, soit via la directive Unit=.
Comment convertir TIMER en SERVICE
N'importe quel éditeur de texte FREE
Créez un fichier avec le même nom de base, par exemple backup.service à côté de backup.timer, en ajoutant une section [Service] avec ExecStart= réglé sur votre commande ; le timer le déclenche automatiquement par le nom.
systemctl edit FREE
Exécutez systemctl edit --full --force backup.service pour ouvrir une nouvelle unité dans le bon répertoire, définissez ExecStart=, puis faites un systemctl daemon-reload et activez le timer.
À 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 .SERVICE est associé à Mac OS X Service Application, un fichier de type system.
Ouvrir les détails de .SERVICE →Qualité et points de vigilance
- Par défaut, un
backup.timeractivebackup.service; utilisezUnit=dans la section[Timer]du timer uniquement si le nom du service est différent. - Le service doit généralement être de
Type=oneshotpour les tâches planifiées afin que systemd traite chaque exécution comme une tâche distincte. - Après avoir créé ou modifié l'unité, exécutez
systemctl daemon-reloadsinon le timer ne prendra pas en compte le nouveau service.
Foire aux questions
Un timer peut-il fonctionner sans service ?
.service correspondante qui définit la commande.Comment le timer sait-il quel service exécuter ?
foo.timer exécute foo.service), à moins que vous ne le spécifiiez avec Unit= dans le fichier timer.Dois-je activer le timer ou le service ?
.timer ; systemd démarrera le service selon le calendrier pour vous.Où se trouvent ces fichiers d'unité ?
/etc/systemd/system/ pour les unités système ; exécutez systemctl daemon-reload après toute modification.