Comment utiliser les temporisateurs Systemd comme alternative à Cron

En tant qu'utilisateur Linux, vous connaissez probablement cron. Il a fonctionné comme un planificateur de tâches basé sur le temps pendant de nombreuses années. Maintenant, de nombreux utilisateurs voient les minuteries d'exécution de Systemd commencer à remplacer la domination cron.

Comment utiliser les minuteries Systemd comme alternative à Cron - Linux

 Cet article va discuter des bases de la configuration de votre minuterie et s'assurer qu'il fonctionne correctement sur votre système.

Composition?

Si vous utilisez déjà le système d'implémentation Systemd comme système d'initialisation - de nombreuses distributions Linux populaires l'exécutent par défaut, y compris Arch, Debian, Fedora, Red Hat et Ubuntu - vous verrez des minuteries déjà utilisées. Il n'y a rien d'autre à faire que d'utiliser cette fonctionnalité déjà installée.

Minuteries de menu

La façon la plus simple de vérifier la présence d'une minuterie sur votre ordinateur consiste à utiliser la commande suivante:

systemctl list-timers

Vous n'avez pas besoin de jouer cette carte.

systemctl list-timers --all

L'option -all ici affiche également les minuteurs inactifs. Il n'y a actuellement aucun calendrier actif dans ce système.

Vous devriez trouver des sorties similaires pour l'image suivante:

Comment utiliser les minuteries Systemd comme alternative à Cron - Linux

Vous pouvez voir la date et l'heure où tout le dispositif temporaire active et le compte à rebours jusqu'à ce point, et la quantité de temps écoulé depuis qu'il fonctionne, le nom de la même minuterie, et le service que chaque unité activée par une minuterie.

Tous les minuteurs doivent être jumelés avec le service correspondant. Dans la section suivante, vous verrez comment créer un fichier .timer qui active un fichier .service.

Créer une nouvelle minuterie

Vous pouvez créer une nouvelle minuterie en plaçant un fichier.minuteur Personnalisé dans "/ etc / systemd / system /." Lorsque vous créez un nouveau fichier de service dynamique DNS temporaire DuckDNS , J'ai fini avec ce texte:

[Unit]

Description=Update duckdns dynamic DNS

[Timer]

OnCalendar=*-*-* 11:43:00

Persistent=true

[Install]

WantedBy=timers.target

1. Section [Unité]

L'option "Description = ..." du fichier vous indique le nom / la description du temporisateur lui-même. Dans ce cas, « duckdns.timer » mettra à jour mon système de noms de domaine en disant fichier « duckdns.service » pour exécuter une série de commandes.

Vous pouvez changer le libellé après "Description =" pour dire ce que vous voulez.

2. Section [Minuterie]

"OnCalendar = ..." montre ici une façon de dire la minuterie lorsqu'elle est activée. * - * - * se réfère à "année - mois - jour, et les astérisques signifient que cela fonctionnera tous les jours de chaque mois de chaque année à partir de maintenant. L'heure qui suit les astérisques apparaît à n'importe quel moment de la journée et la minuterie doit être activée.

"Persistant = vrai" signifie seulement que la minuterie fonctionnera automatiquement si vous manquez l'heure de début précédente. Cela peut se produire parce que l'ordinateur est arrêté avant que l'événement soit effectué. Ceci est facultatif mais recommandé.

3. [Installer]

Enfin, il apparaît "WantedBy = timers.target" أن systemd timers.target Ce fichier sera utilisé .timer. Cette ligne dans le fichier montre la chaîne de dépendance d'un fichier à l'autre. Vous ne devriez pas supprimer ou modifier cette ligne.

D'autres options

Vous pouvez trouver de nombreuses autres fonctionnalités en scannant une page mand homme مع homme systemd.timer. Allez dans la section "OPTIONS" pour découvrir les options de précision, de persévérance et de fonctionnement après la lecture.

Exécuter le minuteur

Activer n'importe quelle minuterie créée avec la syntaxe systemctl enable et début de systemctl.

sudo systemctl enable duckdns.timer

sudo systemctl start duckdns.timer

Regardez à nouveau les minuteries de liste systemctl pour voir votre minuterie en action.

Comment utiliser les minuteries Systemd comme alternative à Cron - Linux

Vous pouvez dire si votre temporisateur a été exécuté comme prévu en examinant son fichier de service avec état systemctl. Dans ce cas, vous pouvez voir que dans mon cas cela fonctionne dans 11: 43: 00 comme il se doit.

Comment utiliser les minuteries Systemd comme alternative à Cron - Linux

Conclusion

Bien que de nombreux programmes tiers, y compris DuckDNS , Livré avec des scripts qui leur permettent de mettre à jour au besoin, la création de minuteries dans Systemd Est-ce une compétence utile que vous devriez savoir. Je créais une minuterie pour DuckDNS Ici n'est pas nécessaire, mais il explique comment d'autres types de dispositifs de chronométrage fonctionneront Systemd.

Cette connaissance sera utile, par exemple, pour créer et exécuter des scripts Frapper Votre propre. Vous pouvez même l'utiliser pour modifier la minuterie en fonction de vos préférences. De plus, il est toujours bon de savoir comment fonctionne votre ordinateur, et Systemd Contrôle de nombreuses fonctions clés, cette partie du puzzle peut vous aider à mieux comprendre comment les événements se déroulent tous les jours.

Merci d'avoir suivi l'article. Bonne chance avec la création de vos propres minuteurs.

source
Aller au bouton supérieur