[linux] ansible pour redémarrer uniquement les serveurs de type redhat mais pas les debians
J’ai une série de serveurs linux, et j’ai besoin d’y exécuter des tâches fréquentes. la solution sera Ansible. 😉
Redémarrage des serveurs linux selon « ansible_os_family »
Mise à jour du fichier d’inventaire
J’en ai profité pour re créer le fichier d’inventaire au format yaml ( ce qui va me permettre une meilleur compatibilité avec des nouvelles commandes, plugins etc.)
/etc/ansible/hosts
all: children: linux: children: redhats: hosts: rh69: centos1: (...) client3: debians: hosts: client1: (...) supervision: Xservers: hosts: client1: rh69: centos1: windows: hosts: srv-exchange01: web-servers: hosts: client1: (...) rh69: centos1:
Le playbook :
J’aurai pû m’appuyer sur le groupe « redhats », mais c’était l’occasion de travailler un peu plus finement.. 😉
reboot-redhatFamily.yml
- hosts: linux tasks: - name: test reboot des redhat when: ansible_os_family == "RedHat" command: /sbin/reboot - name: attendre reboot local_action: wait_for host="{{ inventory_hostname }}" search_regex=OpenSSH port=22 timeout=300
un petit test :
ansible-playbook reboot-redhatFamily.yml –list-hosts Où tous les linux sont listés, mais où seuls les redhat et centos seront rebootés.
Leave a comment