Exécution de scripts shell avec Ansible cron
L'un des cas d'utilisation courants du module Ansible cron
est d'exécuter des scripts shell sur des hôtes distants. Cela peut être utile pour automatiser diverses tâches, telles que la maintenance système, le traitement de données ou le déploiement d'applications.
Voici un exemple de l'utilisation du module cron
pour exécuter un script shell sur un hôte distant :
- name: Run a shell script every minute
cron:
name: Run my script
minute: "*/1"
job: /path/to/my/script.sh
user: myuser
Dans cet exemple, le module cron
est utilisé pour créer une tâche cron qui exécute le script /path/to/my/script.sh
toutes les minutes. Le paramètre user
est utilisé pour spécifier le compte utilisateur sous lequel le script doit être exécuté.
Il est important de noter que le script shell doit être présent sur l'hôte distant et accessible à l'utilisateur spécifié dans le paramètre user
. Vous pouvez utiliser le module Ansible copy
pour copier le script sur l'hôte distant avant de l'exécuter.
Voici un exemple de l'utilisation du module copy
pour copier un script shell sur un hôte distant, puis d'utiliser le module cron
pour l'exécuter :
- name: Copy script to remote host
copy:
src: /local/path/to/script.sh
dest: /remote/path/to/script.sh
mode: "0755"
- name: Run the script every minute
cron:
name: Run my script
minute: "*/1"
job: /remote/path/to/script.sh
user: myuser
Dans cet exemple, le module copy
est utilisé pour copier le fichier script.sh
depuis le système local vers l'emplacement /remote/path/to/script.sh
sur l'hôte distant. Le paramètre mode
est utilisé pour définir les autorisations de fichier afin de rendre le script exécutable.
Une fois que le script est copié sur l'hôte distant, le module cron
est utilisé pour créer une tâche cron qui exécute le script toutes les minutes en tant qu'utilisateur myuser
.
En utilisant le module Ansible cron
en combinaison avec le module copy
, vous pouvez facilement automatiser l'exécution de scripts shell sur des hôtes distants, facilitant ainsi la gestion et la maintenance de votre infrastructure.