Ansible: plusieurs éléments intéressants

This commit is contained in:
Stephane M B079 2025-02-17 17:18:06 +01:00
parent afeaa0b384
commit c9ddac70df
3 changed files with 68 additions and 19 deletions

View File

@ -162,20 +162,18 @@
state: present
become: yes
# 18. Redémarrer la machine
- name: Redémarrer la machine
reboot:
msg: "Redémarrage après configuration."
pre_reboot_delay: 5
command: "nohup bash -c 'sleep 5 && reboot' &"
async: 1
poll: 0
ignore_errors: yes
become: yes
# 19. Attendre que la machine soit de nouveau accessible
- name: Attendre que la machine soit de nouveau accessible
wait_for_connection:
timeout: 300
become: no
# 20. Confirmation
- name: Confirmer que la VM est de nouveau accessible
debug:
msg: "La VM {{ ansible_hostname }} est de nouveau accessible !"
# 18. Redémarrer la machine
#- name: Redémarrer la machine
# reboot:
#msg: "Redémarrage après configuration."
#pre_reboot_delay: 5
#become: yes
#ignore_errors: yes

View File

@ -77,7 +77,7 @@
# 8. Installer les paquets nécessaires
- name: Installer les paquets nécessaires
apt:
name: ["sudo", "vim", "curl", "git", "htop", "gnupg", "apache2"]
name: ["sudo", "vim", "curl", "git", "htop", "gnupg", "apache2", "net-tools"]
state: present
become: yes
@ -145,12 +145,12 @@
state: restarted
become: yes
# 16. Remplacer "clean" par le hostname dans /etc/hosts
- name: Remplacer "clean" par le hostname dans /etc/hosts
replace:
- name: Mettre à jour /etc/hosts avec le hostname
lineinfile:
path: /etc/hosts
regexp: '\bclean\b'
replace: "{{ ansible_hostname }}"
regexp: '^127\.0\.0\.1\s+'
line: "127.0.0.1 localhost {{ ansible_hostname }}"
state: present
become: yes
# 17. Retirer 'PermitRootLogin yes' dans /etc/ssh/sshd_config
@ -162,6 +162,15 @@
state: present
become: yes
- name: Déployer le script MOTD personnalisé
copy:
src: ../sources/99-motd # Chemin relatif depuis où tu exécutes le playbook
dest: /etc/update-motd.d/99-motd
owner: root
group: root
mode: '0755'
become: yes
- name: Redémarrer la machine
command: "nohup bash -c 'sleep 5 && reboot' &"
async: 1

View File

@ -0,0 +1,42 @@
#!/bin/bash
# Définition des couleurs
GREEN='\033[0;32m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Récupération des informations
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
RAM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}')
IP_ADDRESS=$(hostname -I | cut -d' ' -f1)
HOSTNAME=$(hostname)
USERS_CONNECTED=$(who | wc -l)
OS_INFO=$(lsb_release -d | cut -f2)
OS_VERSION=$(lsb_release -r | cut -f2)
UPDATES_AVAILABLE=$(apt list --upgradable 2>/dev/null | grep -c "/")
# Affichage de la bannière
echo -e "${NC}"
echo -e "${RED}----------------------------------------------------------------------${NC}"
echo -e "${GREEN}1. Utilisation du Processeur: ${CPU_USAGE}%${NC}"
echo -e "${BLUE}2. Utilisation de la RAM: ${RAM_USAGE}%${NC}"
echo -e "${PURPLE}3. Utilisation du disque: ${DISK_USAGE}${NC}"
echo -e "${CYAN}4. Adresse IP de la machine ipv4: ${IP_ADDRESS}${NC}"
echo -e "${GREEN}5. Nom de la machine: ${HOSTNAME}${NC}"
echo -e "${RED}6. Nombre d'utilisateurs connectés: ${USERS_CONNECTED}${NC}"
echo -e "${CYAN}7. Système d'exploitation: ${OS_INFO}${NC}"
echo -e "${CYAN}8. Version de l'OS: ${OS_VERSION}${NC}"
echo -e "${RED}----------------------------------------------------------------------${NC}"
echo -e "${NC}"
if [ $UPDATES_AVAILABLE -gt 0 ]; then
echo -e "${RED}Des mises à jour sont disponibles.${NC}"
echo -e "${NC}"
else
echo -e "${GREEN}Aucune mise à jour disponible.${NC}"
echo -e "${NC}"
fi