]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
change: rename execute files
authorBastian Dehn <hhaalo@arcor.de>
Wed, 18 Jan 2017 09:09:45 +0000 (10:09 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Wed, 18 Jan 2017 09:09:45 +0000 (10:09 +0100)
backup [new file with mode: 0755]
backup-einfach [new file with mode: 0755]
backup-einfach.sh [deleted file]
backup.sh [deleted file]

diff --git a/backup b/backup
new file mode 100755 (executable)
index 0000000..2bbda44
--- /dev/null
+++ b/backup
@@ -0,0 +1,80 @@
+#!/bin/bash
+### Script legt ein Backup mit dem heutigen Datum an
+### macht Hardlinks auf unveränderte Daten zum
+### vorhaerigen Backup
+
+# Informationen fuer den Sicherungsserver
+sicherungspfad="/images/backup"
+sicherungsname="sicherung"
+wunschanzahl=20
+
+# 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 ]; then
+       tmpordner=$(find $sicherungspfad -maxdepth 1 -type d -name "*_"$sicherungsname"" | sort | tail --lines=1)
+       vorsicherungsordner=${tmpordner##*/}
+fi
+
+# Sicherungsordner auf dem Sicherungsserver erstellen
+mkdir $sicherungspfad/$sicherungsordner
+
+for remoterechner in $(cat rechner.txt); do
+       remoteuser="root"
+       # Sicherungsordner fuer den Remote-Host erstellen
+       mkdir $sicherungspfad/$sicherungsordner/$remoterechner
+
+       # 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; do
+                               printf "Rechner %s; %s ist online\n" "$remoterechner" "$VM"
+                               printf "Fahre %s herunter\n\n" "$VM"
+                               ssh $remoteuser@$remoterechner virsh shutdown $VM | while [ "$(ssh $remoteuser@$remoterechner virsh list --name | grep $VM)" != "" ]; do sleep 2 ; done
+                               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 --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
+                               done
+                               printf "\nFahre %s hoch\n" "$VM"
+                               ssh $remoteuser@$remoterechner virsh start $VM
+                       done
+                       for VM in $offlineVM; do
+                               printf "Rechner %s; %s ist offline\n\n" "$remoterechner" "$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 --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
+                               done
+                       done
+               else
+                       # Dateipfade werden gesichert
+                       # Es werden Dateien mit *.qcow2 und *.raw ingnoriert
+                       printf "\nRechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
+                       rsync --archive --verbose --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
+               fi
+       done
+done
+
+# Die Anzahl der Backups wird ermittelt
+# Alte Backups werden geloesch
+# falls mehr als die Wunschanzahl vorhanden sind
+backupanzahl=$(ls --directory $sicherungspfad/*/ | grep "_$sicherungsname" | sort | wc --lines)
+loeschanzahl=$(($backupanzahl - $wunschanzahl))
+
+if [ $backupanzahl -gt $wunschanzahl ]
+then
+       printf "\nEs sind %i Sicherungen vorhanden.\n" $backupanzahl
+       printf "Es werden %i Sicherungen gelöscht.\n\n" $loeschanzahl
+       ls -d $sicherungspfad/*/ | grep "_$sicherungsname" --max-count=$loeschanzahl | xargs rm --recursive
+else
+       printf "\nEs wird %i Sicherungen vorhanden.\n" $backupanzahl
+fi
diff --git a/backup-einfach b/backup-einfach
new file mode 100755 (executable)
index 0000000..e445622
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+### Script macht ein Backup von verschiedenen Pfaden
+### auf verschiedenen Rechner und Syncronisiert das Backup
+
+# Informationen fuer den Sicherungsserver
+sicherungspfad="/images/backup"
+sicherungsordner="einfach-sicherung"
+
+# Sicherungsordner auf dem Sicherungsserver erstellen
+if [ ! -d $sicherungspfad/$sicherungsordner ]; then
+       mkdir $sicherungspfad/$sicherungsordner
+fi
+
+for remoterechner in $(cat rechner.txt); do
+       remoteuser="root"
+       # 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
+       for pfad in $(cat pfad-$remoterechner.txt); do
+               printf "\nRechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
+               rsync --archive --verbose --relative --delete --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $pfad | sed 's/\//-/g').log $remoteuser@$remoterechner:$pfad $sicherungspfad/$sicherungsordner/$remoterechner
+       done
+done
diff --git a/backup-einfach.sh b/backup-einfach.sh
deleted file mode 100755 (executable)
index e445622..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-### Script macht ein Backup von verschiedenen Pfaden
-### auf verschiedenen Rechner und Syncronisiert das Backup
-
-# Informationen fuer den Sicherungsserver
-sicherungspfad="/images/backup"
-sicherungsordner="einfach-sicherung"
-
-# Sicherungsordner auf dem Sicherungsserver erstellen
-if [ ! -d $sicherungspfad/$sicherungsordner ]; then
-       mkdir $sicherungspfad/$sicherungsordner
-fi
-
-for remoterechner in $(cat rechner.txt); do
-       remoteuser="root"
-       # 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
-       for pfad in $(cat pfad-$remoterechner.txt); do
-               printf "\nRechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
-               rsync --archive --verbose --relative --delete --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $pfad | sed 's/\//-/g').log $remoteuser@$remoterechner:$pfad $sicherungspfad/$sicherungsordner/$remoterechner
-       done
-done
diff --git a/backup.sh b/backup.sh
deleted file mode 100755 (executable)
index 2bbda44..0000000
--- a/backup.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-### Script legt ein Backup mit dem heutigen Datum an
-### macht Hardlinks auf unveränderte Daten zum
-### vorhaerigen Backup
-
-# Informationen fuer den Sicherungsserver
-sicherungspfad="/images/backup"
-sicherungsname="sicherung"
-wunschanzahl=20
-
-# 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 ]; then
-       tmpordner=$(find $sicherungspfad -maxdepth 1 -type d -name "*_"$sicherungsname"" | sort | tail --lines=1)
-       vorsicherungsordner=${tmpordner##*/}
-fi
-
-# Sicherungsordner auf dem Sicherungsserver erstellen
-mkdir $sicherungspfad/$sicherungsordner
-
-for remoterechner in $(cat rechner.txt); do
-       remoteuser="root"
-       # Sicherungsordner fuer den Remote-Host erstellen
-       mkdir $sicherungspfad/$sicherungsordner/$remoterechner
-
-       # 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; do
-                               printf "Rechner %s; %s ist online\n" "$remoterechner" "$VM"
-                               printf "Fahre %s herunter\n\n" "$VM"
-                               ssh $remoteuser@$remoterechner virsh shutdown $VM | while [ "$(ssh $remoteuser@$remoterechner virsh list --name | grep $VM)" != "" ]; do sleep 2 ; done
-                               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 --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
-                               done
-                               printf "\nFahre %s hoch\n" "$VM"
-                               ssh $remoteuser@$remoterechner virsh start $VM
-                       done
-                       for VM in $offlineVM; do
-                               printf "Rechner %s; %s ist offline\n\n" "$remoterechner" "$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 --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
-                               done
-                       done
-               else
-                       # Dateipfade werden gesichert
-                       # Es werden Dateien mit *.qcow2 und *.raw ingnoriert
-                       printf "\nRechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
-                       rsync --archive --verbose --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
-               fi
-       done
-done
-
-# Die Anzahl der Backups wird ermittelt
-# Alte Backups werden geloesch
-# falls mehr als die Wunschanzahl vorhanden sind
-backupanzahl=$(ls --directory $sicherungspfad/*/ | grep "_$sicherungsname" | sort | wc --lines)
-loeschanzahl=$(($backupanzahl - $wunschanzahl))
-
-if [ $backupanzahl -gt $wunschanzahl ]
-then
-       printf "\nEs sind %i Sicherungen vorhanden.\n" $backupanzahl
-       printf "Es werden %i Sicherungen gelöscht.\n\n" $loeschanzahl
-       ls -d $sicherungspfad/*/ | grep "_$sicherungsname" --max-count=$loeschanzahl | xargs rm --recursive
-else
-       printf "\nEs wird %i Sicherungen vorhanden.\n" $backupanzahl
-fi