From 1289dbcbc06bc20dd5526e91768fb3ee13417936 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Fri, 26 Jan 2024 16:17:10 -0600 Subject: [PATCH] Update powerwall.sh --- powerwall.sh | 68 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 48 insertions(+), 20 deletions(-) diff --git a/powerwall.sh b/powerwall.sh index 1f60a425..5c3153d0 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -716,30 +716,58 @@ LOGROTATE(){ GET_SNAPSHOTS(){ echo + rm -f /tmp/.getsnaphots.* + ncount=0 for SENSOR in ${PW_SENSOR_ORD[@]}; do if [ "${PW_HOST_ADDRESSES[${SENSOR}]}" != "" ]; then - ESXIHOST=${PW_HOST_ADDRESSES[${SENSOR}]} - echo -e "${idsCL[LightGreen]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]} [${ESXIHOST}] " - DIVIDER . lightGreen 70 - echo -en "${idsCL[LighGreen]}Looking for snapshots...${idsCL[Default]}" - snapshots=`${PW_FOLDER}/esxi-scripts/get-snapshots.ps1 ${ESXIHOST}` - if [ "${snapshots}" != "" ]; then - echo -en "\033[2K\033[1A" - echo -e "${snapshots}" - # for snapshot in $(echo ${snapshots} | jq -r '.[] | @base64'); do - # vm=`echo ${snapshot} | base64 --decode | jq -r '.VM'` - # name=`echo ${snapshot} | base64 --decode | jq -r '.Name'` - # created=`echo ${snapshot} | base64 --decode | jq -r '.Created'` - # size=`echo ${snapshot} | base64 --decode | jq -r '.SizeGB'` - # echo "$vm - $name - ${c}reated - $size" - # done - - else - echo -e "\033[2K\e[0K\r No snapshots found" - fi - DIVIDER true lightGreen 70 + GET_SNAPSHOTS_SUB ${SENSOR} + ((ncount++)) fi done + + nc_count=0; completed=false + until [ "${completed}" == "true" ]; do + for snaphots in /tmp/.getsnaphots.*.done; do + if [[ "${snaphots}" != *"*"* ]]; then + snaphots_output=$(cat ${snaphots}) + [ "${snaphots_output}" != "" ] && echo -e "${snaphots_output}\n" + rm -f ${snaphots} + ((nc_count++)) + fi + done + if [ ${nc_count} -eq ${ncount} ]; then + completed=true + break + fi + sleep 2s + done + +} +GET_SNAPSHOTS_SUB(){ + SENSOR=${1} + ESXIHOST=${PW_HOST_ADDRESSES[${SENSOR}]} + tmpfile=/tmp/.getsnaphots.${SENSOR} + touch ${tmpfile}.running + echo -e "${idsCL[LightGreen]}${PW_ESXI_HOST_NAMES[${ESXIHOST}]} [${ESXIHOST}] " >> ${tmpfile}.running + DIVIDER . lightGreen 70 >> ${tmpfile}.running + snapshots=`${PW_FOLDER}/esxi-scripts/get-snapshots.ps1 ${ESXIHOST}` + + if [ "${snapshots}" != "" ]; then + echo -e "${snapshots}" >> ${tmpfile}.running + # for snapshot in $(echo ${snapshots} | jq -r '.[] | @base64'); do + # vm=`echo ${snapshot} | base64 --decode | jq -r '.VM'` + # name=`echo ${snapshot} | base64 --decode | jq -r '.Name'` + # created=`echo ${snapshot} | base64 --decode | jq -r '.Created'` + # size=`echo ${snapshot} | base64 --decode | jq -r '.SizeGB'` + # echo "$vm - $name - ${c}reated - $size" + # done + + else + # echo -e "\033[2K\e[0K\r No snapshots found" + echo -e " No snapshots found" >> ${tmpfile}.running + fi + DIVIDER true lightGreen 70 >> ${tmpfile}.running + mv ${tmpfile}.running ${tmpfile}.done } CONFSYNC(){