#!/bin/bash
 
clear
 
##################################
#### Affichage des VE actives ####
##################################
 
echo "    --------Les differents VE en cours d'utilisation-------"
vzlist
 
################################
#### Selection du templates ####
################################
 
PS3="Selection -> "
echo "Selectionner l'OS de votre template"
select template in "Ubuntu-8.04-x86" "Debian-5.0-x86"; do
 
#########################
#### En cas d'erreur ####
#########################
 
if [ -z "$template" ]
then
    echo "Erreur: entrez un des chiffres proposes." 1>&2
 
##############################
#### Cas du premier choix ####
##############################
 
elif [ "$REPLY" -eq 1 ]
then
    template=ubuntu-8.04-x86-minimal
    break
 
#############################
#### Cas du second choix ####
#############################
 
elif [ "$REPLY" -eq 2 ]
then
    template=debian-5.0-x86-minimal
    break
fi
done
 
########################################
#### Numero de la machine virtuelle ####
########################################
echo -n "Entrez le numero du VPS (min=100) : "
read numero
 
##################################
#### Nom d'hôte de la machine ####
##################################
echo -n "Entrez son hostname : "
read hostname
 
######################################################################################################
#### Ip de la machine, je vous conseille de choisir un sous-réseau (on verra le nattage plus tard ####
######################################################################################################
echo -n "Entrez l'adresse IP du VPS : "
read adresseip
 
##############################
#### Serveur DNS de la VE ####
##############################
echo -n "Entrez le serveur de nom : "
read serveurdns
 
##############################################################
#### Nettoyage de l'affichage et affichage des partitions ####
##############################################################
clear
df -h
 
########################################
#### Taille à allouer à la VE en Mo ####
########################################
 
echo -n "Entrez le seuil d'alerte d'utilisation du disque dur en Mo : "
read diskutil
 
echo -n "Entrer la limite d'utilisation du disque dur en Mo : "
read diskmax
 
clear
 
#############################
#### Limitation du CPU ? ####
#############################
echo -n "Entrer l'utilisation CPU maximum en % /!\1cpu= /100% 2cpu= /200%...(0=unlimited): "
read cpulimit
 
##############################
#### Des stats sur les VE ####
##############################
vzcpucheck -v
 
###########################
#### Ressources des VE ####
###########################
echo -n "Entrer la capacite max d'utilisation CPU en unites de temp : "
read cpuunits
 
###########################
#### Création de la VE ####
###########################
vzctl create "$numero" --ostemplate "$template"
 
######################################
#### Etablissement des paramètres ####
######################################
 
vzctl set "$numero" --nameserver "$serveurdns" --hostname "$hostname" --ipadd "$adresseip" --onboot yes --diskspace "$diskutil"M:"$diskmax"M --kmemsize unlimited --oomguarpages unlimited  --privvmpages unlimited --vmguarpages unlimited --numproc unlimited --numtcpsock unlimited --numothersock unlimited --lockedpages unlimited --numpty unlimited --numiptent unlimited --shmpages unlimited --numsiginfo unlimited --numflock unlimited --numfile unlimited --cpuunits  "$cpuunits" --cpulimit "$cpulimit" --tcpsndbuf unlimited --tcprcvbuf unlimited --othersockbuf unlimited --dgramrcvbuf unlimited --dcachesize unlimited --diskinode unlimited --physpages unlimited --save
 
############################
#### Demarrage de la VE ####
############################
vzctl start "$numero"