container-govc/gestione_snapshot.sh

147 lines
3.9 KiB
Bash
Executable file

#!/bin/bash
snapshot_name="govc_snapshot"
commento="arabiti - snap pre update"
VM_LIST_VCSRA=(
"25001_rpdevlepk03vm"
"25001_rpdevlepk04vm"
"25001_rpdevclrak1vm"
"25001_rpdevclrak2vm"
"25001_rphtdev01vm"
"25001_rpprodlepk4vm"
"25001_rpprodlepk5vm"
"25001_rpprodlepk6vm"
"25001_rpprodclfek1vm"
"25001_rpprodclfek2vm"
"25001_rpprodclfek3vm"
"25001_rpprodclrak1vm"
"25001_rpprodclrak2vm"
"25001_rpprodsolek01vm"
"25001_rpprodsolek02vm"
"25001_rpprodcupk01vm"
"25001_rpprodcupk02vm"
"25001_lbrprodcup2vm"
"25001_asprodmultip01vm"
"25001_htprodkpi01vm"
"25001_rpprodncdc1vm"
"000026_asprodprefpr1vm"
"25001_gateway-tp-new"
"25001_rphtprodmtm1vm"
"24011_sacdmzdev1vm"
"24011_sacdmzprod1vm"
"24011_sacdmzprod2vm"
"25001_globaleaks01vm"
"25001_zimproxyprd1vm"
"25001_sentryprod02vm"
"25001_rpprodtvcctp1vm"
"25001_vpnmmg"
"25001_ftpprod1vm"
"25001_asdevjitsi1vm"
"25001_htprodurls1vm"
)
VM_LIST_VCSPR=(
"25001_rpprodsolek1vm"
"25001_rpprodsolek2vm"
"25001_rpbcklepk05vm"
"25001_rpbcklepk06vm"
"25001_rpbckclfek1vm"
"25001_rpbckclfek2vm"
"25001_rpbckclfek3vm"
"25001_rpbckclrak1vm"
"25001_rpbckclrak2vm"
)
echo "Scegliere una delle seguenti opzioni:
[1] Eseguire snapshot vm in vcsra
[2] Eseguire snapshot vm in vcspr
[3] Rimuovere snapshot vm in vcsra
[4] Rimuovere snapshot vm in vcspr
"
read -p "Inserisci l'opzione da eseguire (1-4): " option
echo
read -p "Confermi di voler eseguire l'opzione $option? (y/n): " yorn
if [ "$yorn" != "y" -a "$yorn" != "Y" -a "$yorn" != "s" -a "$yorn" != "S" ]; then
echo "Nulla di fatto";
exit 0;
fi
case "$option" in
1)
echo lancio lo script su vcsra per creare le snapshot
export GOVC_URL="https://vcsra.ad.lepida.it/"
for VM_NAME in "${VM_LIST_VCSRA[@]}"; do
# dato il nome della vm cerco il datacenter e stampo la stringa esatta -vm 25001_xxxxxxx -dc=yyyy
vars=$(govc find / -type m -name "$VM_NAME")
vars_dc=$(echo $vars | awk -F/ '{print $2}')
vars_vm=$(basename "$vars")
# eseguo lo snapshot
govc snapshot.create -dc=$vars_dc -vm=$vars_dc -m=false -q=true -d="$commento" $snapshot_name
done
;;
2)
# lancio lo script su vcspr
echo lancio lo script su vcspr per creare le snapshot
export GOVC_URL="https://vcspr.ad.lepida.it/"
for VM_NAME in "${VM_LIST_VCSPR[@]}"; do
# dato il nome della vm cerco il datacenter e stampo la stringa esatta -vm 25001_xxxxxxx -dc=yyyy
vars=$(govc find / -type m -name "$VM_NAME")
vars_dc=$(echo $vars | awk -F/ '{print $2}')
vars_vm=$(basename "$vars")
# eseguo lo snapshot
govc snapshot.create -dc=$vars_dc -vm=$vars_dc -m=false -q=true -d="$commento" $snapshot_name
done
;;
3)
# lancio lo script su vcspr
echo lancio lo script su vcsra per eliminare le snapshot
export GOVC_URL="https://vcsra.ad.lepida.it/"
for VM_NAME in "${VM_LIST_VCSRA[@]}"; do
# dato il nome della vm cerco il datacenter e stampo la stringa esatta -vm 25001_xxxxxxx -dc=yyyy
vars=$(govc find / -type m -name "$VM_NAME")
vars_dc=$(echo $vars | awk -F/ '{print $2}')
vars_vm=$(basename "$vars")
# rimuovo lo snapshot
echo Elimino la snapshot $snapshot_name per la vm $vars_vm in DC $vars_dc
govc snapshot.remove -dc=$vars_dc -vm=$vars_vm $snapshot_name
done
;;
4)
# lancio lo script su vcspr
echo lancio lo script su vcspr per eliminare le snapshot
export GOVC_URL="https://vcspr.ad.lepida.it/"
for VM_NAME in "${VM_LIST_VCSPR[@]}"; do
# dato il nome della vm cerco il datacenter e stampo la stringa esatta -vm 25001_xxxxxxx -dc=yyyy
vars=$(govc find / -type m -name "$VM_NAME")
vars_dc=$(echo $vars | awk -F/ '{print $2}')
vars_vm=$(basename "$vars")
# rimuovo lo snapshot
echo Elimino la snapshot $snapshot_name per la vm $vars_vm in DC $vars_dc
govc snapshot.remove -dc=$vars_dc -vm=$vars_vm $snapshot_name
done
;;
*)
echo "Scelta non valida"
exit 1
;;
esac
echo enjoi