HEX
Server: Apache/2.4.6 () OpenSSL/1.0.2k-fips PHP/8.3.8
System: Linux gateway.rmc-logistics.net 4.1.12-124.48.6.el7uek.x86_64 #2 SMP Tue Mar 16 14:57:50 PDT 2021 x86_64
User: apache (48)
PHP: 8.3.8
Disabled: NONE
Upload Files
File: //usr/local/bin/backup_vm.sh
#!/bin/bash
data=`date +%Y-%m-%d`
backup_dir=/var/backup/storage
mount -t cifs //u410856.your-storagebox.de/backup/kf $backup_dir -o username=u410856,password=Bf4z3XpFyThAhSU4
sleep 2
mount -t cifs //u410856.your-storagebox.de/backup/kf $backup_dir -o username=u410856,password=Bf4z3XpFyThAhSU4
##vm=`virsh list | grep . | awk '{print $2}'| sed 1,2d | grep -vf /root/bin/exclude | tr -s '\n' ' '`
vm=`virsh list | grep . | awk '{print $2}'| sed 1,2d | tr -s '\n' ' '`
for activevm in $vm
do
##echo $activevm
mkdir -p $backup_dir/$activevm
# Бэкапим конфигурацию XML для виртуальной машины
virsh dumpxml $activevm > $backup_dir/$activevm/$activevm-$data.xml
# Список дисков виртуальных машин
disk_list=`virsh domblklist $activevm | grep hd | awk '{print $1}'`
# Адрес дисков виртуальных машин
disk_path=`virsh domblklist $activevm | grep hd | awk '{print $2}'`
##echo $disk_list
##echo $disk_path
# Создаем снапшот диcков
virsh snapshot-create-as --domain $activevm snapshot --disk-only --atomic --quiesce --no-metadata
sleep 3
for path in $disk_path
do
# Убираем имя файла из пути
filename=`basename $path`
##echo $path
##echo $filename
# Создаем бэкап диска
gzip -c $path > $backup_dir/$activevm/$filename-$data.gz
sleep 3
done
for disk in $disk_list
do
##echo $disk
# Определяем путь до снепшота
snapshot=`virsh domblklist $activevm | grep $disk | awk '{print $2}'`
##echo $snapshot
# Объединяем снапшот с диском
virsh blockcommit $activevm $disk --active --verbose --pivot
sleep 2
# Удаляем снепшот
#rm -rf $snapshot
done
/usr/bin/find $backup_dir/$activevm -type f -mtime +14 -exec rm -rf {} \;
done
umount //u410856.your-storagebox.de/backup/kf