#!/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" "25001_htprodcat1vm" ) 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_vm -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_vm -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