#!/bin/bash ######################################################################### # Script for extract PVE backup VM status II # # Created by Pavol Macko - DoIT # # ver 0.1 # ######################################################################### #---------------------------- VARIABLES --------------------------------# SRC="nas" 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 "disk" | 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" >> /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 <<\EOG PVE-Backups EOG IDS=$(cat /tmp/pveb.log | grep "^[0-9]" | awk '{print $1}') for e in $IDS; do HST=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $2}') SDATE=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $3}') STIME=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $4}') EDATE=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $5}') ETIME=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $6}') HSIZE=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $7}') BSIZE=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $8}') DURA=$(cat /tmp/pveb.log | grep -w "$e" | awk '{print $9}') echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB echo "" >> $WEB done cat >> $WEB <
HOSTNAME
START-DATE
START-TIME
END-DATE
END-TIME
HDD-SIZE
BCK-SIZE
DUR
$HST
$SDATE
$STIME
$EDATE
$ETIME
$HSIZE
$BSIZE
$DURA
GENERATED: `date +%d/%m/%Y" "%T`
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]"