sicherungspfad="/images/backup"
sicherungsname="sicherung"
wunschanzahl=20
+mode="incremental"
+
+if [ -n "$1" ]; then
+ case "$1" in
+ "full")
+ mode="$1"
+ ;;
+ *)
+ mode="incremental"
+ ;;
+ esac
+fi
# Sicherungsordnernamen generieren
# und Vorsicherungsordnername ermitteln
Disks=$(ssh $remoteuser@$remoterechner virsh domblklist $VM --details | grep disk | awk '{print $4}')
for Disk in $Disks; do
printf "Disk %s von %s wird gesichert\n\n" "$Disk" "$VM"
- rsync --archive --verbose --sparse --acls --hard-links --relative --progress --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $Disk | sed 's/\//-/g').log --link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner $remoteuser@$remoterechner:$Disk $sicherungspfad/$sicherungsordner/$remoterechner
+ if [ "$mode" == "incremental" ]; then
+ hardlinkopt="--link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner"
+ fi
+ rsync --archive --verbose --sparse --acls --hard-links --relative --progress --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $Disk | sed 's/\//-/g').log $hardlinkopt $remoteuser@$remoterechner:$Disk $sicherungspfad/$sicherungsordner/$remoterechner
done
printf "\nFahre %s hoch\n" "$VM"
ssh $remoteuser@$remoterechner virsh start $VM
Disks=$(ssh $remoteuser@$remoterechner virsh domblklist $VM --details | grep disk | awk '{print $4}')
for Disk in $Disks; do
printf "Disk %s von %s wird gesichert\n\n" "$Disk" "$VM"
- rsync --archive --verbose --sparse --acls --hard-links --relative --progress --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $Disk | sed 's/\//-/g').log --link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner $remoteuser@$remoterechner:$Disk $sicherungspfad/$sicherungsordner/$remoterechner
+ if [ "$mode" == "incremental" ]; then
+ hardlinkopt="--link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner"
+ fi
+ rsync --archive --verbose --sparse --acls --hard-links --relative --progress --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $Disk | sed 's/\//-/g').log $hardlinkopt $remoteuser@$remoterechner:$Disk $sicherungspfad/$sicherungsordner/$remoterechner
done
printf "################################################################\n"
done
# Es werden Dateien mit *.qcow2 und *.raw ingnoriert
printf "################################################################\n"
printf "Rechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
- rsync --archive --verbose --sparse --acls --hard-links --relative --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $pfad | sed 's/\//-/g').log --filter="- *.qcow2" --filter="- *.raw" --link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner $remoteuser@$remoterechner:$pfad $sicherungspfad/$sicherungsordner/$remoterechner
+ if [ "$mode" == "incremental" ]; then
+ hardlinkopt="--link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner"
+ fi
+ rsync --archive --verbose --sparse --acls --hard-links --relative --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $pfad | sed 's/\//-/g').log --filter="- *.qcow2" --filter="- *.raw" $hardlinkopt $remoteuser@$remoterechner:$pfad $sicherungspfad/$sicherungsordner/$remoterechner
printf "################################################################\n"
fi
done