pve-backup.sh 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. #########################################################################
  3. # Script for extract PVE backup VM status #
  4. # Created by Pavol Macko - DoIT #
  5. # ver 0.2 #
  6. #########################################################################
  7. #---------------------------- VARIABLES --------------------------------#
  8. SRV=$(hostname -s)
  9. #--------------------------- EXTRACT-ALL -------------------------------#
  10. extall(){
  11. 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 "
  12. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" > /tmp/pveb.log
  13. echo "PID HOSTNAME START-DATE START-TIME END-DATE END-TIME HDD-SIZE DUR(s) BCK-SIZE" >> /tmp/pveb.log
  14. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" >> /tmp/pveb.log
  15. LST=$(egrep -lRi "backup" /var/log/pve/tasks/* | grep pam)
  16. for b in $LST;
  17. do
  18. cat $b | grep "Starting Backup" | awk '{print $6}' > /tmp/pbi
  19. cat $b | grep "Backup started" | awk '{print $5,$6}' > /tmp/pbs
  20. cat $b | grep "VM Name" | awk '{print $4}' > /tmp/pbn
  21. cat $b | grep "Backup finished" | awk '{print $5,$6}' > /tmp/pbe
  22. cat $b | grep "transferred" | awk '{print $3$4,$6}' | sed 's/\.00//g' | sed 's/i//g' > /tmp/pbt
  23. cat $b | grep "archive file" | awk '{print $5}' > /tmp/pbz
  24. paste /tmp/pbi /tmp/pbn /tmp/pbs /tmp/pbe /tmp/pbt /tmp/pbz >> /tmp/pveb
  25. done
  26. cat /tmp/pveb | sort -n >> /tmp/pveb.log
  27. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" >> /tmp/pveb.log
  28. cat /tmp/pveb.log | column -t
  29. }
  30. #--------------------------- EXTRACT-LAST -------------------------------#
  31. extlast(){
  32. echo -e " \e[1;32mACTUAL SUMMARY\e[0m of \e[1;36mLAST\e[0m extracted PROXMOX virtual server \e[1;35mbackups\e[0m from server \e[1;33m$SRV\e[0m "
  33. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" > /tmp/pvebt.log
  34. echo "PID HOSTNAME START-DATE START-TIME END-DATE END-TIME HDD-SIZE DUR(s) BCK-SIZE" >> /tmp/pvebt.log
  35. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" >> /tmp/pvebt.log
  36. PID=$(cat /tmp/pveb.log | awk '{print $1}' | egrep -v "\---|PID" | sort | uniq)
  37. for t in $PID;
  38. do
  39. cat /tmp/pveb.log | grep -w $t | tail -1 >> /tmp/pvebt.log
  40. done
  41. echo "--- --------- ---------- ---------- ---------- -------- -------- ------ --------" >> /tmp/pvebt.log
  42. cat /tmp/pvebt.log | column -t
  43. }
  44. #------------------------------- CORE ----------------------------------#
  45. rm -rf /tmp/pveb*
  46. echo ""
  47. extall
  48. extlast