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