Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Gestion des tâches cron avec Ansible
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
DevOps

Gestion des tâches cron avec Ansible

L'Équipe Alphorm Par L'Équipe Alphorm 16 novembre 2024
Partager
Partager

La gestion manuelle des tâches cron sur plusieurs systèmes peut être complexe et sujette aux erreurs.

Une gestion inefficace des tâches planifiées peut entraîner des incohérences, des oublis et une maintenance accrue.

L’article présente comment automatiser cette gestion avec le module ansible.builtin.cron, assurant une exécution cohérente et sans faille.

Table de matière
Module Ansible.builtin.cron : IntroductionFAQConclusion

Formation Ansible : Le Guide Complet du Débutant

Devenez un expert d'Ansible et simplifiez vos tâches d'administration.

Découvrir cette formation

Module Ansible.builtin.cron : Introduction

Le module ansible.builtin.cron est utilisé pour la gestion des tâches cron sur les systèmes Unix/Linux à l’aide d’Ansible. Les types des taches qu’on peut gérer à l’aide ce module sont :

  • cron.d :Ce répertoire est souvent utilisé pour stocker des fichiers de configuration cron pour des tâches spécifiques. Ansible peut gérer les fichiers présents danscron.den les ajoutant, les modifiant ou les supprimant selon les besoins.
  • crontab :Il s’agit du fichier de configuration principal où sont définies les tâchescronpour chaque utilisateur. Ansible peut également gérer les entrées crontab en ajoutant, modifiant ou supprimant des lignes de tâches cron pour un utilisateur spécifié.

Utilisation du module ansible.builtin.cron :

  • Ajout d’une tâche cron :Nous pouvons utiliser ce module pour ajouter une nouvelle tâchecronen spécifiant le temps d’exécution (minute, heure, jour, mois, jour de la semaine) et la commande à exécuter.
  • Modification d’une tâche cron :Si une tâchecronexiste déjà et que nous souhaitons la modifier, nous pouvons utiliser ce module pour ajuster les paramètres de temps ou la commande associée.
  • Suppression d’une tâche cron :Pour retirer une tâche cron existante, utilisez ce module en spécifiant les mêmes critères de temps et de commande que lors de l’ajout initial.

Ce module permet de gérer des opérations sur des systèmes informatiques de manière automatisée, en utilisant ce module, nous pouvons exécuter des actions spécifiques et vérifient l’état des systèmes pour assurer la conformité et la cohérence des configurations.

Voici un exmple de playbook utilisant ce module :

				
					
 ---
- hosts: test
remote_user: root
tasks:
- name: cron sauvegarde
cron:
name: sauvegarde
cron_file: svg
minute: 0
hour: 1
weekday: 7
user: root
job: /usr/local/bin/svg

				
			

Ce playbook permet donc de mettre en place une tâche cron planifiée pour exécuter une sauvegarde chaque dimanche à 1 heure du matin sur les hôtes spécifiés dans le groupe « test »

Pour illustrer concrètement l’utilisation du module ansible.builtin.cron et approfondir la compréhension, nous allons développer un playbook pratique :

				
					
 ---
- hosts: servers
tasks:
- name: Ensure a job exists at 2 and 5
ansible.builtin.cron:
name: "check_dirs"
minute: "0"
hour: "2,5"
job: "ls -alh >/dev/null"

				
			

Ce playbook garantit qu’une tâche cron nommée « check_dirs » est configurée pour s’exécuter à 2 heures et 5 heures sur les hôtes spécifiés.

Copier le dans un fichier cron-playbook.yml et exécuter apres pour voir le résultat :

Exemple de code Ansible avec module cron

Mais avant d’exécuter, vérifier d’abord si le nœud géré contient déjà le module cron avec la commande : systermctl status cron

Console montrant statut du service cron actif

Voilà, le module existe déjà dans notre nœud géré donc exécutons le playbook maintenant

Sortie Ansible utilisant module cron

Le résultat indique que le playbook a été exécuté avec succès. Pour vérifier, nous pouvons également vérifier sur le nœud géré en utilisant la commande crontab -l pour voir si la tâche définie dans le playbook est présente.

Exemple de crontab avec Ansible sur terminal

Parfait, tout fonctionne bien et nous avons le résultat attendu.

Utilisation du module cron

Dans cette partie, nous allons créer une tâche cron qui affiche la date actuelle et s’exécute chaque jour à 2h30 avec l’utilisateur Sergio.

Voyons maintenant le playbook contenant ces taches :

– hosts: servers

tasks:

– name: Create cron date job

ansible.builtin.cron:

name: « display date »

minute: « 30 »

hour: « 2 »

user: sergio

job: « date »

become: yes

Tâche 1 : Créer un job cron pour afficher la date

Nom du job : « display date »

Minute : « 30 » (exécuter à la 30ème minute de chaque heure)

Heure : « 2 » (exécuter à 2h00)

Utilisateur : sergio (exécuter avec les droits de l’utilisateur Sergio)

Commande : « date » (afficher la date actuelle)

become: yes : pour permettre une élévation de privilèges nécessaire pour créer le job cron.

Exécutons maintenant la tâche. Pour pouvoir l’executer, il faut la copier dans un fichier appelé : job_playbook .yml

Playbook Ansible utilisant module builtin.cron

Exécuter la avec la commande : ansible-playbook -v job_playbook.yml

Console Ansible exécutant un playbook cron

Voilà, la tache du playbook était bien exécutée et nous allons vérifier le job dans le nœud géré si le crontab est présent , connectons le compte d’utilisateur sergio et taper la commande : crontab pour le voir.

Exemple de crontab affichant la date via Ansible.

Ces résultats justifient bien que la tâche était bien exécutée avec succès.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment fonctionne le module ansible.builtin.cron?
Le module ansible.builtin.cron permet de gérer les tâches cron sur les systèmes Unix/Linux via Ansible. Il offre des fonctionnalités pour ajouter, modifier ou supprimer des tâches cron, qu’il s’agisse de fichiers de configuration individuels dans cron.d ou d’entrées utilisateur dans crontab. Cette automatisation assure une gestion centralisée et cohérente des tâches planifiées, facilitant ainsi la maintenance et la conformité des systèmes.
Comment ajouter une tâche cron avec Ansible?
Pour ajouter une tâche cron avec Ansible, utilisez le module ansible.builtin.cron en spécifiant les paramètres de temps (minute, heure, jour, mois, jour de la semaine) et la commande à exécuter. Par exemple, pour planifier une sauvegarde chaque dimanche à 1h00, configurez les propriétés telles que ‘minute: 0’, ‘hour: 1’, et ‘job: /usr/local/bin/svg’. Cette méthode garantit l’exécution automatique et régulière de vos tâches.
Comment modifier une tâche cron existante avec Ansible?
Pour modifier une tâche cron existante, utilisez le module ansible.builtin.cron en indiquant les nouvelles valeurs pour les paramètres de temps ou la commande. Vous pouvez ajuster les heures, jours ou commandes déjà configurés pour répondre aux besoins actuels du système. Cette flexibilité permet de gérer efficacement les changements fréquents ou les ajustements nécessaires dans vos tâches planifiées.
Comment vérifier si une tâche cron est présente après son ajout?
Après avoir ajouté une tâche cron, vérifiez sa présence en exécutant la commande ‘crontab -l’ sur le système concerné. Cette commande liste toutes les tâches cron configurées pour l’utilisateur actuel, permettant ainsi de confirmer l’intégration réussie de la tâche ajoutée. Cela assure que les actions planifiées sont bien enregistrées et prêtes à être exécutées selon le plan défini.
Pourquoi utiliser Ansible pour gérer les tâches cron?
Utiliser Ansible pour gérer les tâches cron offre l’avantage de l’automatisation et de la centralisation. Ansible permet de définir, déployer et maintenir des configurations de tâches cron sur plusieurs systèmes de manière cohérente et répétable. Cette approche réduit les erreurs manuelles, améliore l’efficacité et assure que toutes les machines sont alignées sur les mêmes paramètres de gestion des tâches planifiées.

Conclusion

En utilisant le module ansible.builtin.cron, vous pouvez automatiser et centraliser la gestion des tâches cron sur vos systèmes. Quelle autre fonctionnalité d’Ansible aimeriez-vous explorer pour améliorer l’efficacité de vos opérations IT?

ÉTIQUETÉ : Ansible
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Gestion des tâches cron avec Ansible

© Alphorm - Tous droits réservés