USB Platte am Nas automatisch sichern

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Ziggy

Benutzer
Registriert
08. Juni 2016
Beiträge
20
Reaktionspunkte
0
Punkte
0
Hallo,
ich möchte meine SSD Platte abends wen ich nach Hause komme direkt am DS216 J anhängen und durch eine tägliche Sicherung backupen (Inkrementel).
Hintergrund:
Das NAS habe ich zu Hause am Router angeschlossen konfigurieren würde ich es einmal über meinen PC. Die so eingerichtete Sicherung soll ohne zutun automatisiert täglich gesichert werden, da ich dort nicht immer die Zeit und Lust habe die Platte erst am Rechner anzuschliessen. Das ganze soll (muss) ohne zusätzlich Software geschehen.
Leider habe ich bis jetzt keine möglich keit im DSM (6.0.1.7393).
Habe ich irgendetwas trivalles übersehen, suche nun schon seit drei Tagen nach einer Lösung (Vom Nas auf externe Platte habe ich gefunden nur andersrum nicht!)?

Danke im Voraus!
 
Jap geht damit problemlos einfach mit autorun kombinieren
 
Hallo PsychoHH und Dil88,

Vielen Dank, werde heute das Script testen!
Scripte selber benutze ich im eingeschränkten Maße, die Stelle zum editieren im oberen Abschnitt sind ja zum Glück entsprechend vorbildlich Kommentiert (Danke für die riesen Mühe die ihr euch gemacht habt) falls ich Problem habe werde ich mich melden!
Bis Dann

Gruß
 
Ja, das ist der Thread zum genannten Paket autorun. Du musst aber zunächst einmal nur die richtige Paketquelle (https://www.cphub.net/ - siehe Wiki) im Paketzentrum hinzufügen, um das Paket autorun installieren zu können.
 
... die Stelle zum editieren im oberen Abschnitt sind ja zum Glück entsprechend vorbildlich Kommentiert (Danke für die riesen Mühe die ihr euch gemacht habt)
Vielen Dank! Wir haben ganz bewusst versucht es so einfach und benutzerfreundlich wie möglich zu gestallten, weshalb...

Ihr merkt da habe ich noch einen gewaltigen Weg zu gehen ....
... man auch nicht die 72 Seiten des zugehörigen Thread's zu autorun oder unseren Thread durchackern braucht, außer man ist an der Entstehungsgeschichte und der Umsetzung interessiert. Daher sollte ein aufmerksames lesen des Wiki's sowie des Benutzereingabebereich im Script vollkommen ausreichen alles zu verstehen und umzusetzen.

Tommes
 
Hallo Dil88,

habe verschiedene Versionen gefunden, da ich nicht Linux Scripten kann, meine Frage!
Kann ich das Script 4 Autorun-04.spk einfache einbinden . bzw.- auf die Platte kopieren? Eigentlich will "only oneway) einfach nur die Daten von der USB Platte auf dem NAS sichern. Falls die externe Platte mal nicht gehen sollte würde ich dann von Hand eine neue USB Platte "mit der letzten Sicherung befüttern"
 
Für DSM 6.0 musst Du autorun V1.7 im Paketzentrum installieren.
 
Hallo Tommes,

rufe das Start-rsync.sh auf!
bekomme bei der Aufgabenplannung einen Syntaxfehler wen ich mir das Ausführungsergebnis anzeigen lasse:
/volume1/DatenSSD/start-rsync.sh: line 1: #!/bin/sh
: No such file or directory
/volume1/DatenSSD/start-rsync.sh: line 142: syntax error near unexpected token `elif'
/volume1/DatenSSD/start-rsync.sh: line 142: `elif [ -z "$SSH_FROM" ] && [ -n "$SSH_TO" ]; then
'
Die Leerzeilen haben wir größtenteils entfernt der Fehler bezieht sich auf folgenden Scriptteil:

# Wenn Verbindung VON entfernten Server... (FROMSSH)
elif [ -z "$SSH_FROM" ] && [ -n "$SSH_TO" ]; then
if [ -n "$SSH_PORT" ]; then
TOSSH="ssh -p $SSH_PORT $SSH_USER@$SSH_TO"
SCP="scp -P $SSH_PORT"
else
TOSSH="ssh $SSH_USER@$SSH_TO"
SCP="scp"
fi
if [ -n "$RSYNC_PORT" ]; then
TORSYNC="ssh -p $RSYNC_PORT -l $SSH_USER"
else
TORSYNC="ssh -l $SSH_USER"
fi
 
Kopier dir das Script nochmal.
Nur die Variablen anpassen und keine Änderungen mehr am Code vornehmen.
 
Auch wäre zu klären mit welchem Editor du das Script bearbeitet bzw. gespeichert hast. Im Wiki steht u.a. beschrieben, das darauf zu achten ist auf UTF-8 umzustellen. Hast du das gemacht? Welchen Editor nutzt du?
 
Habe den Code aus dem Wiki direkt in Notepad++ eingefügt und als Unix Script .sh abgespeichert ...
Bei den Variablen habe ich den Pfad aus den Eigenschaften entnommen.
SOURCES="Oertelj/VolumeUSB1/usbshare/Daten" Oertelj ist der Name der DS, der Ordner den ich im Fileserver von der SSD sehe heisst Daten.
TARGET="Oertelj/volume1/DatenSSD" DatenSSD ist der freigegeben Ordner auf der File Station, der Rest aus den Eigenschaften entnommen.
Aber daran scheint es ja nicht zu liegen, das Script läuft ja schon nicht durch!?

Gruß Ziggy
 
Und wo steht das du den absoluten Pfad in SOURCES und TARGET angeben sollst, also Oertelj/VolumeUSB1/usbshare/ ?
 
Das ist ziemlich falsch eingetragen.

1. Das Script muss auf die externen also z.B. unter /VolumeUSB1/usbshare/

Dann trägst du folgendes ein

SOURCES="/Daten"
TARGET="/DatenSSD"
FROMTHISDEVICE="1"
NOTTOSCRIPT="1"
 
Habe nur in diesem Teil geändert ....
#!/bin/sh
# E-Mail Adresse
# -------------------------------------------------------------------------
# Die E-Mail Adresse muss mit der bereits im DSM unter "Benachrichtigung" |
# hinterlegten E-Mail-Adresse identisch sein. |
# -------------------------------------------------------------------------
EMAIL="" # E-Mail für Zustellung des Sicherungsprotokolls
EMAILFAIL="0" # "0" = Sicherungsprotokoll immer senden
# "1" = Sicherungsprotokoll nur bei Problemen senden
# SSH - Verbindungsdaten
# -------------------------------------------------------------------------
# Werden keine Verbindungsdaten angegeben, wird eine lokale Datensicherung|
# durchgeführt. |
# -------------------------------------------------------------------------
SSH_USER="" # Benutzername
SSH_FROM="" # IP-, Host- oder Domain VON entfernter Quelle AUF lokales Ziel
SSH_TO="" # IP-, Host- oder Domain VON lokaler Quelle AUF entferntes Ziel
SSH_PORT="" # Leer = Port 22 ansonsten gewünschten Port angeben
RSYNC_PORT="" # Alternativer Rsync Port kann hier eingetragen werden
MAC="" # Leer = WOL wird nicht genutzt
SLEEP="300" # Wartezeit in Sekunden bis Remoteserver gebootet ist
# MAC Adresse eintragen = Server wird hochgefahren, wenn dieser ausgeschaltet ist
SHUTDOWN="0" # "0" = Entfernter Server wird nicht heruntergefahren
# "1" = Entfernter Server wird heruntergefahren wenn das Backup erfolgreich war
# Umgang mit verschlüsselten Ordnern
# ------------------------------------------------------------------------
# Angeben, ob eingehangene verschlüsselte Ordner nach der Datensicherung |
# wieder ausgehangen werden sollen. |
# ------------------------------------------------------------------------
UNMOUNT="0" # "0" = Eingehangene Ordner werden nicht ausgehängt
# "1" = Quelle und Ziel werden ausgehängt
# "2" = Quelle wird ausgehängt
# "3" = Ziel wird ausgehängt
# Backup - Quellen
# ------------------------------------------------------------------------
# Hier können beliebige, unverschlüsselte sowie verschlüsselte |
# Backup-Quellen einer lokalen oder entfernten DS eingetragen werden. |
# Zu beachten ist, das immer der vollständige Pfad ohne Angabe des |
# entsprechenden Volume anzugeben ist. Weiterhin ist auf die |
# Schreibweise im Beispiel zu achten, pro Zeile je eine Backupquelle. |
# ------------------------------------------------------------------------
SOURCES="Daten"
#/ordner mit leerzeichen
#/verschlüsselter ordner"
# Backup - Ziel
# ------------------------------------------------------------------------
# Wenn NOTTOSCRIPT="0" |
# - dann entspricht TARGET einem "Unterverzeichnis" am Speicherort des |
# Scripts. Beisp.: volume[x]/share/[TARGET] oder bei einem |
# angeschlossenen USB-Datenträger: volumeUSB[x]/usbshare/[TARGET] |
# - Ist zusätzlich HOSTNAME="1" gesetzt, wird der Netzwerkname dem |
# Speicherort hinzugefügt. Beisp.: volume[x]/Share/[TARGET]/[HOSTNAME]|
# |
# Wenn NOTTOSCRIPT="1" und Ziel ist eine Diskstation |
# - dann entspricht TARGET einem "gemeinsamen Ordner" (Share) am |
# Speicherort des Ziel's. Beisp.: volume[x]/[TARGET] |
# - Ist zusätzlich HOSTNAME="1" gesetzt, wird der Netzwerkname dem |
# Speicherort hinzugefügt. Beisp.: volume[x]/[TARGET]/[HOSTNAME] |
# |
# Wenn NOTTOSCRIPT="1" und Ziel ist ein RSync-kompatibler Server |
# - dann entspricht TARGET einem Ordner (Share) am Speicherort des |
# Ziel's. Beisp.: /[TARGET] |
# - Ist zusätzlich HOSTNAME="1" gesetzt, wird der Netzwerkname dem |
# Speicherort hinzugefügt. Beisp.: /[TARGET]/[HOSTNAME] |
#-------------------------------------------------------------------------
TARGET="DatenSSD"
FROMTHISDEVICE="0" # "0" = Quelle ist ein gemeinsamer Ordner
# "1" = Quelle liegt auf externen USB/SATA-Speicher neben Script
NOTTOSCRIPT="0" # "0" = Sicherungsziel liegt beim Script
# "1" = Sicherungsziel liegt im geinsamen Ordner
HOSTNAME="0" # "0" = Sicherungsziel entspricht TARGET
# "1" = Sicherungsziel entspricht TARGET/HOSTNAME
AUTORUN="0" # "0" = autorun wirft USB-Stick nicht aus
# "1" = autorun wirft USB-Stick aus
# Optische- sowie akustische Signalausgabe
#-------------------------------------------------------------------------
# Start : Status-LED wechselt von grün nach orange. Ein Signalton ertönt|
# Ende : Status-LED wechselt von orange nach grün. Ein Signalton ertönt|
# Fehler : Status-LED wechselt von orange nach grün. 3x Signalton ertönt |
#-------------------------------------------------------------------------
SIGNAL="1" # "0" = Optische- sowie akustische Signalausgabe aus
# "1" = Optische- sowie akustische Signalausgabe an
# Exportieren der DSM-Systemkonfiguration (.dss)
#-------------------------------------------------------------------------
# Die DSM-Systemkonfigurartion (.dss) wird in den Systemordner |
# /@DSMConfig exportiert. |
#-------------------------------------------------------------------------
DSM_EXPORT="0" # "0" = DSM-Systemkonfiguration wird NICHT exportiert
# "1" = DSM-Systemkonfiguration wird exportiert
# Rotationszyklus für das Löschen von @Recycle und @Logfiles
#-------------------------------------------------------------------------
# Zeitangabe, wann Ordner bzw. Dateien in den System-Ordnern endgültig |
# gelöscht werden sollen, die älter als x Tage sind. |
# ------------------------------------------------------------------------
RECYCLE_ROTATE="90" # @Recycle-Daten die älter als "x" Tage sind, löschen
LOGFILES_ROTATE="60" # @Logfiles-Daten die älter als "x" Tage sind, löschen
DSMCONFIG_ROTATE="30" # @DSMConfig-Daten die älter als "x" Tage sind, löschen


Das Script wie empfohlen aus der Zwischenablage rüberkopiert und gespeichert.

Folgende Fehlermeldung

/volume1/DatenSSD/search-rsync2.sh: line 1: #!/bin/sh
: No such file or directory
/volume1/DatenSSD/search-rsync2.sh: line 110: $'\r': command not found
/volume1/DatenSSD/search-rsync2.sh: line 144: syntax error near unexpected token `elif'
/volume1/DatenSSD/search-rsync2.sh: line 144: `elif [ -z "$SSH_FROM" ] && [ -n "$SSH_TO" ]; then
'


Es ist wie verhext!
 
Zuletzt bearbeitet:
Nur so nebenbei.... falls du keine Lust jede Menge Post hast, würde ich deine E-Mail Adresse aus dem Posting nehmen.
 
1. Email rausnehmen.

2. Die Variable so setzen wie ich gesagt habe, FROMTHISDEVICE und NOTTOSCRIPT.

3. Script auf die Platte legen, dann klappt das auch.
 
Das Script habe ich um deine Einträge angepasst! Leider bin ich was Unix Scripte angeht Anfänger, mit den Verzeichnissen habe ich vorher nahezu alle Einstellungen ausprobiert.
Immer noch folgende Meldung:
/volumeUSB1/usbshare/search-rsync.sh: line 1: #!/bin/sh
: No such file or directory
/volumeUSB1/usbshare/search-rsync.sh: line 110: $'\r': command not found
/volumeUSB1/usbshare/search-rsync.sh: line 144: syntax error near unexpected token `elif'
/volumeUSB1/usbshare/search-rsync.sh: line 144: `elif [ -z "$SSH_FROM" ] && [ -n "$SSH_TO" ]; then
'
 
Schick mir das script mal direkt als Anhang per email.
Adresse hab ich dir per pn geschickt.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat