| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #!/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
- <html>
- <head>
- <title>PVE-Backups</title>
- </head>
- <BODY>
- <TABLE WIDTH="100%" BORDER=1>
- <TBODY>
- <TR BGCOLOR="#C0C0C0" VALIGN=center>
- <TD WIDTH="20%"><DIV ALIGN=center><B>HOSTNAME</B></DIV></TD>
- <TD WIDTH="15%"><DIV ALIGN=center><B>START-DATE</B></DIV></TD>
- <TD WIDTH="10%"><DIV ALIGN=center><B>START-TIME</B></DIV></TD>
- <TD WIDTH="15%"><DIV ALIGN=center><B>END-DATE</B></DIV></TD>
- <TD WIDTH="10%"><DIV ALIGN=center><B>END-TIME</B></DIV></TD>
- <TD WIDTH="10%"><DIV ALIGN=center><B>HDD-SIZE</B></DIV></TD>
- <TD WIDTH="10%"><DIV ALIGN=center><B>BCK-SIZE</B></DIV></TD>
- <TD WIDTH="10%"><DIV ALIGN=center><B>DUR</B></DIV></TD>
- </TR>
- 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 "<TR VALIGN=center>" >> $WEB
- echo "<TD WIDTH=\"20%\"><DIV ALIGN=center>$HST</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"15%\"><DIV ALIGN=center>$SDATE</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"10%\"><DIV ALIGN=center>$STIME</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"15%\"><DIV ALIGN=center>$EDATE</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"10%\"><DIV ALIGN=center>$ETIME</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"10%\"><DIV ALIGN=center>$HSIZE</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"10%\"><DIV ALIGN=center>$BSIZE</DIV></TD>" >> $WEB
- echo "<TD WIDTH=\"10%\"><DIV ALIGN=center>$DURA</DIV></TD>" >> $WEB
- echo "</TR>" >> $WEB
- done
- cat >> $WEB <<EOX
- <TR BGCOLOR="#C0C0C0" VALIGN=center>
- <TD COlSPAN="8" WIDTH="100%"><DIV ALIGN=center><B>GENERATED: <I>`date +%d/%m/%Y" "%T`</I></B></DIV></TD>
- </TR>
- </TBODY>
- </TABLE>
- </BODY>
- 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]"
|