skripting-section:bash:synology-backup-skript

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
skripting-section:bash:synology-backup-skript [2018/01/08 14:43] michaelskripting-section:bash:synology-backup-skript [2018/09/25 11:15] (current) michael
Line 1: Line 1:
-====== Synology Backup Skript ======+====== Synology Storage Backup Skript ======
 Skript, welches vom mir erstellt wurde, um automatisiert wichtige Daten von meinem Synology NAS, auf eine externe Harddisk welche an meinem Backup-Server angeschlossen ist zu sichern! (Die HDD wird nur aktiv für die Zeit der Sicherung!) Skript, welches vom mir erstellt wurde, um automatisiert wichtige Daten von meinem Synology NAS, auf eine externe Harddisk welche an meinem Backup-Server angeschlossen ist zu sichern! (Die HDD wird nur aktiv für die Zeit der Sicherung!)
  
Line 9: Line 9:
 #!/bin/bash #!/bin/bash
 ############################################################################################# #############################################################################################
-#******************* Backup blackSERV Script by Michael Reber - v 1.**********************#+#******************* Backup blackSERV Script by Michael Reber - v 1.**********************#
 ############################################################################################# #############################################################################################
  
Line 35: Line 35:
 fi fi
 ################################################################################################ ################################################################################################
-## Mount und bereitstellen der Backup-Disk+ 
-mount /dev/sda1 /mnt/backup-disk+## Aktivieren des Stroms der Backup-Festplatte und bereitstellen des Mounts
 +uhubctl -a on -p 3 && mount /dev/sda1 /mnt/backup-disk
  
 # Überprüfen, ob die für das Backup benötigte Disk (sda1) noch mindestens 50GB freien Speicher hat. # Überprüfen, ob die für das Backup benötigte Disk (sda1) noch mindestens 50GB freien Speicher hat.
Line 52: Line 53:
           -o message-file="/tmp/dfInfo"           -o message-file="/tmp/dfInfo"
  
-    umount /mnt/backup-disk +    umount /mnt/backup-disk && uhubctl -a off -p 3 
-    exit 0+    exit 1
 else else
     # Überprüfen, ob die für das Backup benötigten Ordner vorhanden sind; anderfalls sollen sie erstellt werden:     # Überprüfen, ob die für das Backup benötigten Ordner vorhanden sind; anderfalls sollen sie erstellt werden:
Line 74: Line 75:
     ################################################################################################     ################################################################################################
     ## Start des täglichen blackSERV-Backups:     ## Start des täglichen blackSERV-Backups:
-    echo "$today - Starting with backup of server: $backupdir .." >> /var/log/blackSERV-backup.log 
  
     #Create Backup of daten_michael:     #Create Backup of daten_michael:
 +    #****************************************************************
     mount -t nfs -o ro,hard 192.168.1.21:/volume1/daten_michael /mnt/blackSERV 2>> /var/log/blackSERV-backup.log     mount -t nfs -o ro,hard 192.168.1.21:/volume1/daten_michael /mnt/blackSERV 2>> /var/log/blackSERV-backup.log
     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \
Line 85: Line 86:
  
     #Create Backup of server_backups:     #Create Backup of server_backups:
 +    #****************************************************************
     mount -t nfs -o ro,hard 192.168.1.21:/volume1/server-backups /mnt/blackSERV 2>> /var/log/blackSERV-backup.log     mount -t nfs -o ro,hard 192.168.1.21:/volume1/server-backups /mnt/blackSERV 2>> /var/log/blackSERV-backup.log
-    #rsync -av --exclude '*@SynoResource' --exclude '@eaDir'+    ## Dinamic backup for all Server Systems in path: 
-    --exclude '*.vsmeta' --exclude '.DS_Store' --exclude 'Thumbs.db'+    for serverBackupPath in `find /mnt/blackSERV/* -prune -type d` 
-    /mnt/blackSERV/ \ +    do 
-    /mnt/backup-disk/server-backups/+        serverBackupFolder=$(echo $serverBackupPath | cut -d '/' -f4) 
 +        rsync -av --exclude '*@SynoResource' --exclude '@eaDir'
 +        --exclude '*.vsmeta' --exclude '.DS_Store' --exclude 'Thumbs.db'
 +        $serverBackupPath/$today/ \ 
 +        /mnt/backup-disk/server_backups/$serverBackupFolder/ 
 +    done
     umount /mnt/blackSERV     umount /mnt/blackSERV
  
     #Create Backup of web:     #Create Backup of web:
 +    #****************************************************************
     mount -t nfs -o ro,hard 192.168.1.21:/volume1/web /mnt/blackSERV 2>> /var/log/blackSERV-backup.log     mount -t nfs -o ro,hard 192.168.1.21:/volume1/web /mnt/blackSERV 2>> /var/log/blackSERV-backup.log
     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \
Line 101: Line 109:
  
     #Create Backup of znextCloud:     #Create Backup of znextCloud:
 +    #****************************************************************
     mount -t nfs -o ro,hard 192.168.1.21:/volume1/znextCloud /mnt/blackSERV 2>> /var/log/blackSERV-backup.log     mount -t nfs -o ro,hard 192.168.1.21:/volume1/znextCloud /mnt/blackSERV 2>> /var/log/blackSERV-backup.log
     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \     rsync -av --exclude '*@SynoResource' --exclude '@eaDir' \
Line 108: Line 117:
     umount /mnt/blackSERV     umount /mnt/blackSERV
  
- +    echo "$today -> Tägliche Sicherung erfolgreich abgeschlossen!>> /var/log/blackSERV-backup.log
-    ################################################################################################ +
-    ## Löschen von 7 Tage alten Backups: +
-    #if [ -"/mnt/server-backup/$backupdir/$OLDBACKUP" ]; then +
-    #    rm -fR /mnt/server-backup/$backupdir/$OLDBACKUP +
-    #fi +
-    ################################################################################################ +
-    ##+
 fi fi
  
-umount /mnt/backup-disk+umount /mnt/backup-disk && uhubctl -a off -p 3
 </sxh> </sxh>
  • skripting-section/bash/synology-backup-skript.1515418983.txt.gz
  • Last modified: 2018/01/08 14:43
  • by michael