Pour l’accès à la console de ESXi, merci de lire cet article et cet article
Il est possible de créer un SnapShot nommé « vcb_snap » depuis la console SSH de ESXi avec la séquence suivante :
[shell]export VM_NAME=xpexport VMWARE_CMD=/bin/vim-cmd
echo "VM_NAME: $VM_NAME"
# get VM_ID
${VMWARE_CMD} vmsvc/getallvms | sed ‘s/[[:blank:]]{3,}/ /g’ | awk -F’ ‘ ‘{print """$1"";""$2"";""$3"""}’ | sed ‘s/] /]";"/g’ | sed ‘1,1d’ > /tmp/vms_list
export VM_ID=’grep -E ""${VM_NAME}"" /tmp/vms_list | awk -F ";" ‘{print $1}’ | sed ‘s/"//g”
echo "VM_ID: $VM_ID"
echo "Create snapshot"
${VMWARE_CMD} vmsvc/snapshot.create ${VM_ID} vcb_snap VCB_BACKUP_${VM_NAME}_’date +%F'[/shell]
La procédure est un peu complexe car les outils en mode console ne savent pas exploiter le nom des VM, seulement l’identifiant interne à ESXi. La première partie du code retrouve le code associé à une VM.
La suppression du SnapShot est un peu plus complexe car il existe bien une commande “snapshot.remove” mais elle est très mal documentée. L’exemple ci-dessous semble fonctionner même s’il génère une erreur. La première partie du code liste les caractéristiques de tous les snapshots de la VM et traite le fichier résultant pour calculer le nombre de SnapShots associés à la VM (4 Snapshots numérotés de 0 à 3, par exemple). Le script supprime simplement le dernier.
[shell]export VM_NAME=xpexport VMWARE_CMD=/bin/vim-cmd
echo "VM_NAME: $VM_NAME"
${VMWARE_CMD} vmsvc/snapshot.get ${VM_ID} > /tmp/snp_list
export SNP_COUNT=’grep datastoreUrl /tmp/snp_list|wc -l’
let "SNP_COUNT=$SNP_COUNT-1"
echo "remove snapshot $SNP_COUNT"
${VMWARE_CMD} vmsvc/snapshot.remove ${VM_ID} vcb_snap ${SNP_COUNT}[/shell]
Salut,Merci pour le script et Bonne Annéeje suis en train de faire joujou avec ESXi free pour des expérimentations au boulot et je voulais savoir si l’un de vous sait comment faire pour que le snapshot soit en mode power on pour que lorsque qu’on fait un revert cela lance directement la VM (ou la mette au moins en suspend)merciwad
Merci j’ai trouvé dans le script:)
Bonne continuation à ce superbe Blog
Super !Merci beaucoup de le script corrigé”Je le remet au cas ou quelqu’un aurai le meme bug
d’affichage${VMWARE_CMD} vmsvc/getallvms | sed ‘s/[[:blank:]]{3,}/ /g’
| awk -F’ ‘ ‘{print “””$1″”;””$2″”;””$3″””}’ | sed ‘s/]
/]”;”/g’ | sed ‘1,1d’ > /tmp/vms_list”
EuhCa fait un moment que j’ai pas utilisé ce script. Je vais essayer de jeter un coup d’oeil mais j’ai pas beaucoup de temps en ce moment.De mémoire, il est issue d’une analyse du code de ghettoVCB.sh. Si tu es très pressé, jette un coup d’oeil à http://communities.vmware.com/docs/DOC-8760
Bonjour,apparament il y a un probleme dans l’affichage du code : ${VMWARE_CMD} vmsvc/getallvms | sed ’s/[[:blank:]]{3,}/ /g’ | awk -F’ ‘ ‘{print « »”$1″ »; »”$2″ »; »”$3″ »”}’ | sed ’s/] /] »; »/g’ | sed ‘1,1d’ > /tmp/vms_listpouvez vous corriger ou me l’envoyer svp ?Et encore merci pour toutes les astuces 🙂