From 3861eee68a2caaba08c43f995bd7e1f6f5f420f0 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Fri, 13 Jan 2017 18:01:53 +0100 Subject: [PATCH] add: comments --- backup-einfach.sh | 10 +++++----- backup.sh | 22 +++++++++++++++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/backup-einfach.sh b/backup-einfach.sh index 76423c0..33aa9f0 100755 --- a/backup-einfach.sh +++ b/backup-einfach.sh @@ -2,10 +2,8 @@ # Informationen fuer den Sicherungsserver sicherungspfad="/images/backup" -sicherungsname="einfach-sicherung" +sicherungsordner="einfach-sicherung" -# Sicherungsordnernamen -sicherungsordner="$sicherungsname" # Sicherungsordner auf dem Sicherungsserver erstellen if [ ! -d $sicherungspfad/$sicherungsordner ] then @@ -15,13 +13,15 @@ fi for remoterechner in $(cat rechner.txt) do remoteuser="root" - # Sicherungsordner auf dem Sicherungsserver erstellen + # Sicherungsordner vom Remote-Host + # auf dem Sicherungsserver erstellen if [ ! -d $sicherungspfad/$sicherungsordner/$remoterechner ] then mkdir $sicherungspfad/$sicherungsordner/$remoterechner fi - # Sicherung fuer die jeweils angegebenen Pfade in pfad.txt erstellen inkl. logs + # Sicherung fuer die jeweils angegebenen Pfade + # in pfad.txt erstellen inkl. logs for pfad in $(cat pfad-$remoterechner.txt) do echo diff --git a/backup.sh b/backup.sh index b131607..bf7459e 100755 --- a/backup.sh +++ b/backup.sh @@ -5,7 +5,8 @@ sicherungspfad="/images/backup" sicherungsname="sicherung" wunschanzahl=20 -# Sicherungsordnernamen generieren und Vorsicherungsordnername generieren +# Sicherungsordnernamen generieren +# und Vorsicherungsordnername ermitteln sicherungsordner="$(date +%Y-%m-%d)"_"$sicherungsname" vorsicherungsordner="$(date -d "1 Day ago" +%Y-%m-%d)"_"$sicherungsname" if [ ! -d $sicherungspfad/$vorsicherungsordner ] @@ -13,20 +14,26 @@ then tmpordner=$(find $sicherungspfad -maxdepth 1 -type d -name "*_"$sicherungsname"" | sort | tail -n 1) vorsicherungsordner=${tmpordner##*/} fi + # Sicherungsordner auf dem Sicherungsserver erstellen mkdir $sicherungspfad/$sicherungsordner for remoterechner in $(cat rechner.txt) do remoteuser="root" - # Sicherungsordner auf dem Sicherungsserver erstellen + # Sicherungsordner fuer den Remote-Host erstellen mkdir $sicherungspfad/$sicherungsordner/$remoterechner - # Sicherung fuer die jeweils angegebenen Pfade in pfad.txt erstellen inkl. logs + # Sicherung fuer die jeweils angegebenen Pfade + # in pfad.txt erstellen inkl. logs + # bzw. KVM HD Sicherung erstellen for pfad in $(cat pfad-$remoterechner.txt) do if [ "$pfad" == "virsh" ] then + # Sicherung von KVM virtuellen Maschinen + # Online VMs werden heruntergefahren, gesichert und dann wieder hochgefahren + # Offline VMs werden direkt gesichert onlineVM=$(ssh $remoteuser@$remoterechner virsh list --name) offlineVM=$(ssh $remoteuser@$remoterechner virsh list --all | grep 'shut off' | awk '{print $2}') for VM in $onlineVM @@ -52,13 +59,14 @@ do Disks=$(ssh $remoteuser@$remoterechner virsh domblklist $VM --details | grep disk | awk '{print $4}') for Disk in $Disks do - echo echo "Disk $Disk von $VM wird gesichert" echo rsync -avR --progress --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $Disk | sed 's/\//-/g').log --link-dest=$sicherungspfad/$vorsicherungsordner/$remoterechner $remoteuser@$remoterechner:$Disk $sicherungspfad/$sicherungsordner/$remoterechner done done else + # Dateipfade werden gesichert + # Es werden Dateien mit *.qcow2 und *.raw ingnoriert echo echo "Rechner $remoterechner; Pfad $pfad wird gesichert" echo @@ -67,9 +75,9 @@ do done done -############################## - -# Aeltere Sicherungen loeschen +# Die Anzahl der Backups wird ermittelt +# Alte Backups werden geloesch +# falls mehr als die Wunschanzahl vorhanden sind backupanzahl=$(ls -d $sicherungspfad/*/ | grep "_$sicherungsname" | sort | wc -l) loeschanzahl=$(($backupanzahl - $wunschanzahl)) -- 2.39.5