Vous êtes sur la page 1sur 1

#Copyright GRASSA Noureddine

#APPROVISIONNEMENT AUTOMATIQUE DES VM 2016-2017 - CAS DE OPENVZ


#!/bin/bash

nom_vm=`cat fich.txt | tr [:space:] '\t' |cut -f1` #on récupère le


nom de la VM d'un fichier
vm_lancees=`cat fich.txt | tr [:space:] '\t' |cut -f2` # on récupère la
valeur des VM lancées au départ aucune VM n'est lancée
echo $nom_vm
echo $vm_lancees
while true
do
requete=`who -q |tail -n 1|cut -f2 -d=` #on récupère le Nombre de
personnes connectées à un instant T

let temp=$requete/10
let nb_vm_desirees=$temp+1 # nb_vm_desirees = ((requete/10)+1) Tous
les 10 utilisateurs on a une VM de plus

echo "Nombre de personnes connectées:$requete"


echo "Nombre de Vm désirées:$nb_vm_desirees"
if [ $nb_vm_desirees -gt $vm_lancees ]
then
vzctl start $nom_vm #Lancement d'un VM
let vm_lancees=$vm_lancees+1
let nom_vm=$nom_vm+1
echo "vm lancée"
echo "Nombre de VM lancées:$vm_lancees"
elif [ $nb_vm_desirees -lt $vm_lancees ]
then
let nom_vm=$nom_vm-1
vzctl stop $nom_vm #Arret d'un VM
let vm_lancees=$vm_lancees-1
echo "vm détruit"
echo "Nombre de VM restant:$vm_lancees"
else
exit 0
fi
echo $nom_vm > fich.txt # on met les derniers valeurs nom de la VM et
Nombre de VM lancées dans un fichier pour préparer le coup d'après
echo $vm_lancees >> fich.txt
done

Annexe:
more fich.txt
nom_vm
vm_lancées

Exemple:
more fich.txt
101
0

Vous aimerez peut-être aussi