Bonjour a tous,

J'ai un objectif de pouvoir scripter la sortie d'une liste de machine virtuel hébergé sur un host KVM, d'avoir un dump de chacunes des VMS et de sortir la liste des disques virtuel pour chacunes de ces Vms.

Au commencement, j'ai simplement un fichier texte avec les ips des hosts

liste_SERVER.txt

192.8.34.200
192.168.34.201
etc...

A la fin du scripts, je dois avoir un fichier texte avec la liste des VMs enregistré sous liste_VM_[ip du serveur] ainsi qu'un fichier avec la liste des disque pour chaque VMs enregistré sous liste_disk_[nom de la vm]

Malheureusement, pour le moment, je n'arrive qu'a faire le dump et récupérer la liste des disque seulement de la première VM...je suppose a une mauvaise utilisation des boucles.
Sachant qu'a priori, le while read est pas le mieux pour mon objectif... :/

Voici mon script pour le moment :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#!/bin/bash
 
while read SERVER
        do
        echo -e "$SERVER"
        ssh $SERVER "virsh list --all | grep -o i-[0-999]*-[0-999]*-VM" > /home/script_backup/info/liste_VM/liste_VM_"$SERVER"
        while read line
                do
                echo -e "$line"
                ssh $SERVER "virsh dumpxml $line" > /home/script_backup/info/bck_xml/backup_"$DATE"_"$line".xml
                ssh $SERVER "virsh domblklist $line" | grep /mnt* > /home/script_backup/info/liste_disk/liste_disk_"$line".txt
        done < /home/script_backup/info/liste_VM/liste_VM_"$SERVER"
done < /home/script_backup/info/liste_SERVER.txt
Si l'un de vous a une aide, piste, indice a m'apporté..je vous en serais reconnaissant !

Cordialement,
N.B