GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


scripts_d_arret_et_de_redemarrage_des_machines_virtuelles_vmware

Scripts d'arrêt et de redémarrage des machines virtuelles VMWare.

Ce tutoriel est en cours de rédaction…

Démarrage des machines virtuelles.

#!/bin/bash
#
###################################################
#
# Script de démarrage des machines virtuelles VMWare.
# Ce script est utilisé à partir de Tina.
#
# Date de création : 26/01/2009
# Date de modification : none
# Auteur : Gaëtan Trellu - gaetan.trellu@asmeg.org
#
###################################################
 
# Commande permettant de lister des machines virtuelles disponibles avec exclusion de la machine "Reférence".
LISTE_VM=`vmware-cmd -l | grep -v Reference`
 
# Fichier de log.
LOG="/var/log/start_vm.log"
 
# Format de la date pour le log.
NEW_DATE=`date +%F\ %X`
 
# Si le log existe déjà alors on le supprime.
rm -rf $LOG
 
# Si le fichier de log n'existe pas alors il sera créé.
if [ ! -f $LOG ]; then
        touch $LOG
        echo -e "###########################################" >> $LOG
        echo -e "LANCEMENT DU SCRIPT D'ARRET DES VM." >> $LOG
        echo -e "###########################################\n" >> $LOG
fi
 
# Insertion de la section dans le fichier de log.
echo -e "-------------------------------------------" >> $LOG
echo -e "Liste des machines virtuelles disponibles :" >>  $LOG
echo -e "-------------------------------------------" >> $LOG
 
# Liste des machines virtuelles.
for VM in $LISTE_VM
do
        # Commande listant les machines virtuelles hors-lignes.
        RESULTAT=`vmware-cmd $VM getstate | grep off`
 
        if [ "$RESULTAT" == "getstate() = off" ]; then
                STRING_ETAT="Désactivée"
        else
                STRING_ETAT="Activée"
        fi
 
        # Récupération du nom de la machine virtuelle.
        MODIF_STRING_VM=`echo $VM | cut -d '/' -f5`
 
        # Insertion du nom et de l'état de la machine dans le fichier de log.
        echo -e "$MODIF_STRING_VM : $STRING_ETAT" >> $LOG
done
 
# Insertion de la section dans le fichier de log.
echo -e "\n-------------------------------------------" >> $LOG
echo -e "Lancement des machines virtuelles hors-lignes." >> $LOG
echo -e "-------------------------------------------" >> $LOG
 
# Liste les machines virtuelles en hors-lignes.
for VM_OFF in $LISTE_VM
do
        # Commande listant les machines virtuelles en hors-lignes.
        RESULTAT=`vmware-cmd $VM_OFF getstate | grep off`
 
        if [ "$RESULTAT" == "getstate() = off" ]; then
                STRING_ETAT="Désactivée"
        fi
 
        # Récupération du nom de la machine virtuelle.
        MODIF_STRING_VM_OFF=`echo $VM_OFF | cut -d '/' -f5`
 
        # On démarre la machine virtuelle si son statut est "Désactivée".
        if [ "$STRING_ETAT" == "Désactivée" ]; then
                vmware-cmd $VM_OFF start > /dev/null
                echo -e "[ $NEW_DATE ] Lancement de la machine virtuelle : $MODIF_STRING_VM_OFF" >> $LOG
                sleep 340
        else
                echo -e "[ $NEW_DATE ] La machine virtuelle $MODIF_STRING_VM_OFF est lancée." >> $LOG
        fi
done
echo -e "\n-------------------------------------------" >> $LOG

Arrêts des machines virtuelles.

#!/bin/bash
#
###################################################
#
# Script d'arrêt des machines virtuelles VMWare.
# Ce script est utilisé à partir de Tina.
#
# Date de création : 26/01/2009
# Date de modification : none
# Auteur : Gaëtan Trellu - gaetan.trellu@asmeg.org
#
###################################################
 
# Commande permettant de lister des machines virtuelles disponibles avec exclusion de la machine "Reférence".
LISTE_VM=`vmware-cmd -l | sort | grep -v Reference`
 
# Fichier de log.
LOG="/var/log/stop_vm.log"
 
# Format de la date pour le log.
NEW_DATE=`date +%F\ %X`
 
# Si le log existe déjà alors on le supprime.
rm -rf $LOG
 
# Si le fichier de log n'existe pas alors il sera créé.
if [ ! -f $LOG ]; then
        touch $LOG
        echo -e "###########################################" >> $LOG
        echo -e "LANCEMENT DU SCRIPT D'ARRET DES VM." >> $LOG
        echo -e "###########################################\n" >> $LOG
fi
 
# Insertion de la section dans le fichier de log.
echo -e "-------------------------------------------" >> $LOG
echo -e "Liste des machines virtuelles disponibles :" >>  $LOG
echo -e "-------------------------------------------" >> $LOG
 
# Liste des machines virtuelles.
for VM in $LISTE_VM
do
        # Commande listant les machines virtuelles en lignes.
        RESULTAT=`vmware-cmd $VM getstate | grep on`
 
        if [ "$RESULTAT" == "getstate() = on" ]; then
                STRING_ETAT="Activée"
        else
                STRING_ETAT="Désactivée"
        fi
 
        # Récupération du nom de la machine virtuelle.
        MODIF_STRING_VM=`echo $VM | cut -d '/' -f5`
 
        # Insertion du nom et de l'état de la machine dans le fichier de log.
        echo -e "$MODIF_STRING_VM : $STRING_ETAT" >> $LOG
done
 
# Insertion de la section dans le fichier de log.
echo -e "\n-------------------------------------------" >> $LOG
echo -e "Arrêt des machines virtuelles en lignes." >> $LOG
echo -e "-------------------------------------------" >> $LOG
 
# Liste les machines virtuelles en lignes.
for VM_ON in $LISTE_VM
do
        # Commande listant les machines virtuelles en lignes.
        RESULTAT=`vmware-cmd $VM_ON getstate | grep on`
 
        if [ "$RESULTAT" == "getstate() = on" ]; then
                STRING_ETAT="Activée"
        fi
 
        # Récupération du nom de la machine virtuelle.
        MODIF_STRING_VM_ON=`echo $VM_ON | cut -d '/' -f5`
 
        # On arrête la machine virtuelle si son statut est "Activée".
        if [ "$STRING_ETAT" == "Activée" ]; then
                vmware-cmd $VM_ON stop >> /dev/null
                echo -e "[ $NEW_DATE ] Arrêt de la machine virtuelle : $MODIF_STRING_VM_ON" >> $LOG
                sleep 120
        else
                echo -e "[ $NEW_DATE ] La machine virtuelle $MODIF_STRING_VM_ON est arrêtée." >> $LOG
        fi
done
echo -e "\n-------------------------------------------" >> $LOG
scripts_d_arret_et_de_redemarrage_des_machines_virtuelles_vmware.txt · Dernière modification: 2011/01/05 16:05 (modification externe)