diff --git a/gestione_snapshot.sh b/gestione_snapshot.sh new file mode 100755 index 0000000..ca5d66b --- /dev/null +++ b/gestione_snapshot.sh @@ -0,0 +1,147 @@ +#!/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