ソースを参照

Script for extract VM backup state from PVE type 2

pmacko 2 週間 前
コミット
303ca7a9cb
1 ファイル変更106 行追加0 行削除
  1. 106 0
      pve_backup_II.sh

+ 106 - 0
pve_backup_II.sh

@@ -0,0 +1,106 @@
+#!/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]"