#!/bin/bash ######################################################################### # Script for extract PVE backup VM status II # # Created by Pavol Macko - DoIT # # ver 0.3 # ######################################################################### #---------------------------- VARIABLES --------------------------------# SRC="usb" SRV=$(hostname -s) FLD="/var/www/backup" test -d $FLD || mkdir $FLD WEB="$FLD/index.html" test -d /mnt/pve/$SRC/ || echo -e "- \e[1;31mWrong\e[0m source variable [\e[1;36m$SRC\e[0m]" test -d /mnt/pve/$SRC/ || exit 1 #------------------------------- DATE ----------------------------------# aid(){ date +%s } #--------------------------- EXTRACT-ALL -------------------------------# extall(){ echo -e " \e[1;32mACTUAL SUMMARY\e[0m of \e[1;36mALL\e[0m extracted PROXMOX virtual server \e[1;35mbackups\e[0m from server \e[1;33m$SRV\e[0m " echo "---------- --------- ---------- ---------- ---------- -------- -------- -------- ----------" > /tmp/pveb.log echo "AUTOID HOSTNAME START-DATE START-TIME END-DATE END-TIME HDD-SIZE BCK-SIZE DUR" >> /tmp/pveb.log echo "---------- --------- ---------- ---------- ---------- -------- -------- -------- ----------" >> /tmp/pveb.log LST=$(ls /mnt/pve/$SRC/dump/*.log) for i in $LST; do SDAT=$(cat $i | grep "VM Name" | awk '{print $1}') STIM=$(cat $i | grep "VM Name" | awk '{print $2}') HST=$(cat $i | grep "VM Name" | awk '{print $NF}') DSK=$(cat $i | grep "include disk" | egrep -v "efidisk|tpmstat" | awk '{print $NF}') ARC=$(cat $i | grep "archive file" | awk '{print $NF}') DUR=$(cat $i | grep "Finished" | awk '{print $NF}') FDAT=$(cat $i | grep "Finished" | awk '{print $1}') FTIM=$(cat $i | grep "Finished" | awk '{print $2}') echo "$(aid) $HST $SDAT $STIM $FDAT $FTIM $DSK $ARC $DUR" | awk 'NF >= 2' >> /tmp/pveb.log sleep 1 done echo "---------- --------- ---------- ---------- ---------- -------- -------- -------- ----------" >> /tmp/pveb.log sed -i 's/(//g' /tmp/pveb.log sed -i 's/)//g' /tmp/pveb.log } #-------------------------- GENERATE-WEB -------------------------------# extweb(){ cat > $WEB < $SRV Backup

PVE Backup Report

Server: $SRV
EOG while read -r line; do if [[ "$line" =~ ^[0-9]+ ]]; then read -r _ hst sdate stime edate etime hsize bsize dura <<< "$line" cat >> $WEB < EOF fi done < /tmp/pveb.log cat >> $WEB <
Hostname Start Date Start Time End Date End Time HDD Size Bck Size Duration
$hst $sdate $stime $edate $etime $hsize $bsize $dura
EOX } #------------------------------- CORE ----------------------------------# rm -rf /tmp/pveb* echo "" extall extweb cat /tmp/pveb.log | column -t echo -e "- \e[1;32mGenerating\e[0m web report [\e[1;33m$WEB\e[0m]"