### auf verschiedenen Rechner und Syncronisiert das Backup
# Informationen fuer den Sicherungsserver
-sicherungspfad="/images/backup"
-sicherungsordner="einfach-sicherung"
+SetDefaultVariables() {
+ sicherungspfad="/images/backup"
+ sicherungsordner="einfach-sicherung"
+}
-for remoterechner in $(cat rechner.txt); do
- remoteuser="root"
- # Sicherungsordner vom Remote-Host
- # auf dem Sicherungsserver erstellen
+CreateBackupFolderRemotePC() {
mkdir --parents $sicherungspfad/$sicherungsordner/$remoterechner
+}
+
+printfStripLine() {
+ printf "####################"
+ printf "####################"
+ printf "####################"
+ printf "####################\n"
+}
- # Sicherung fuer die jeweils angegebenen Pfade
- # in pfad.txt erstellen inkl. logs
+BackupPathes() {
for pfad in $(cat pfad-$remoterechner.txt); do
- printf "################################################################\n"
+ printfStripLine
printf "\nRechner %s; Pfad %s wird gesichert\n\n" "$remoterechner" "$pfad"
- rsync --archive --verbose --sparse --acls --hard-links --relative --human-readable --delete --log-file=$sicherungspfad/$sicherungsordner/$remoterechner/backup-$(echo $pfad | sed 's/\//-/g').log $remoteuser@$remoterechner:$pfad $sicherungspfad/$sicherungsordner/$remoterechner
- printf "################################################################\n"
+
+ rsync --archive --verbose --sparse --acls --hard-links --relative \
+ --human-readable --delete \
+ --log-file=$backupRemoteRechnerPath/backup-$(echo $pfad | sed 's/\//-/g').log \
+ $remoteLogin:$pfad \
+ $backupRemoteRechnerPath
+ printfStripLine
done
-done
+}
+
+BackupRemotePC() {
+ remoteuser="root"
+
+ for remoterechner in $(cat rechner.txt); do
+ CreateBackupFolderRemotePC
+
+ backupRemoteRechnerPath="$sicherungspfad/$sicherungsordner/$remoterechner"
+ remoteLogin="$remoteuser@$remoterechner"
+
+ BackupPathes
+ done
+}
+
+main() {
+ SetDefaultVariables
+ BackupRemotePC
+}
+
+main $*
exit 0