pve_main_bck.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. #########################################################################
  3. # Script for main backup PVE #
  4. # Created by DoIT #
  5. # ver 0.1 #
  6. #########################################################################
  7. #------------------------------- VARIABLE ------------------------------#
  8. DAT=$(date +%y%m%d)
  9. SRV=$(hostname -s)
  10. LST="30"
  11. #------------------------------- STORAGE ------------------------------#
  12. check(){
  13. test -f /usr/bin/pvesh || echo -e "- \e[1;31mNOT\e[0m right server [\e[1;33m$SRV\e[0m]"
  14. test -f /usr/bin/pvesh || sed -i '/pve_main_bck/d' /etc/crontab
  15. test -f /usr/bin/pvesh || exit 0
  16. DST=$(df -h | egrep "backup|Synology|NAS|usb" | awk '{print $NF}')
  17. test -d $DST/pve || mkdir $DST/pve
  18. }
  19. #------------------------------- BACKUP -------------------------------#
  20. backup(){
  21. echo -e "- \e[1;32mBackuping\e[0m [\e[1;33mPVE\e[0m] \e[1;32mconfigurations\e[0m"
  22. tar czf $DST/pve/pve_config_${SRV}_${DAT}.tar.gz /etc/pve/ > /dev/null 2>&1
  23. echo -e "- \e[1;32mRemoving\e[0m [\e[1;33m$LST\e[0m] \e[1;32mdays old configurations\e[0m"
  24. find $DST/pve/ -type f -mtime +30 -delete
  25. echo -e "- \e[1;32mBackup Location\e[0m [\e[1;34m$DST/pve/\e[0m]:"
  26. ls -laftr $DST/pve/ | grep "$(date +%y%m)" | tail -3
  27. }
  28. #------------------------------- BACKUP -------------------------------#
  29. restore(){
  30. scp NAS:/pve_config_###.tar.gz /opt/
  31. tar xzf /opt/pve_config_###.tar.gz -C /
  32. systemctl restart pve-cluster
  33. }
  34. #------------------------------- CORE ----------------------------------#
  35. clear
  36. check
  37. backup