Dateibasierte RSync-Datensicherung auf externen Datenträger oder RSync kompatiblen Server/Suchscriptvarianten
Aus Synology Wiki
Dies ist die aktuellste Version dieser Seite. Sie hat keine bestätigte Version.
Variante 1: Scripte anhand ihrer vollständigen Script-Dateinamen auf extern angeschlossenen Datenträgern suchen und ausführen
#!/bin/sh # Kurze Funktionsbeschreibung # ------------------------------------------------------------------------ # Das Script kann manuell oder automatisiert über den Aufgabenplaner | # als "root" ausgeführt werden, je nachdem ob der externe Datenträger | # temporär oder permanent mit der DS verbunden wird. | # Nach dem Start des Scriptes werden alle USB- sowie SATA Anschlüsse der | # DS nach extern angeschlossenen Datenträgern durchsucht um im jeweiligen| # Wurzelverzeichnis ein oder mehrere abgelegte Scripte zu lokalisieren. | # Es besteht also die Möglichkeit mehrere Scripte auszuführen, die dazu | # noch auf unterschiedlichen Datenträgern liegen. Dabei ist es auch nicht| # zwingend erforderlich, das alle Script permanent verfügbar sein müssen.| # Wird ein Script oder mehrere Scripte gefunden, werden diese | # ausgeführt und somit das eigentliche Backupsystem angestoßen. | # Im Vorfeld muss natürlich noch das rsync.sh Script den jeweiligen | # Bedürfnissen angepasst werden. | # ------------------------------------------------------------------------ SCRIPTNAME="Diskstation-Backup.sh" # ------------------------------------------------------------------------ # Ab hier bitte nichts mehr ändern | # ------------------------------------------------------------------------ for SCRIPT in $SCRIPTNAME do # Durchsuche volumeUSB1 if [ -f /volumeUSB1/usbshare/$SCRIPT ]; then sh /volumeUSB1/usbshare/$SCRIPT fi # Durchsuche volumeUSB2 if [ -f /volumeUSB2/usbshare/$SCRIPT ]; then sh /volumeUSB2/usbshare/$SCRIPT fi # Durchsuche volumeUSB3 if [ -f /volumeUSB3/usbshare/$SCRIPT ]; then sh /volumeUSB3/usbshare/$SCRIPT fi # Durchsuche volumeSATA if [ -f /volumeSATA/satashare/$SCRIPT ]; then sh /volumeSATA/satashare/$SCRIPT fi done
Variante 2: Scripte anhand einer Zeichenkette auf extern angeschlossenen Datenträgern sowie auf der Diskstation selber suchen, ausschließen oder ausführen
#!/bin/sh # Zeichenkette auf der DS sowie angeschlossenen Datenträgern suchen # ------------------------------------------------------------------------ # Hierbei werden nicht nur extern angeschlossene USB- und SATA | # Datenträger, sondern auch alle Volume innerhalb der Diskstation | # | # Es ist nicht erforderlich, den kompletten Script-Dateinamen anzugeben. | # Es reicht die Eingabe einer Zeichenkette, die in jedem auszuführenden | # Script-Dateinamen enthalten sein muss. | # Beispiele für die Zeichenkette: "start" = start_Backup_Filme.sh | # start_Filme.sh oder auch _start_Filme_sichern.sh | # | # Soll eine Scriptausführung bei einer bestimmten Zeichenkette verhindert| # werden, weil sich ein Script z.B. noch im Testbetrieb befindet, kann | # dies über die Variable EXCLUDE_STRING gesteuert werden. | # Beispiel: start_Backup_Filme.sh wird ausgeführt test_Backup_Filme.sh | # jedoch nicht. | #------------------------------------------------------------------------- SCRIPT_STRING="start" EXCLUDE_STRING="test" if [ "$EXCLUDE_STRING" ] then find /volume*/ -type f -name "*$SCRIPT_STRING*.sh" ! -name "*$EXCLUDE_STRING*" -exec sh {} \; else find /volume*/ -type f -name "*$SCRIPT_STRING*.sh" -exec sh {} \; fi