USB Platte am Nas automatisch sichern

Status
Für weitere Antworten geschlossen.

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
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!
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.021
Punkte
754

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Jap geht damit problemlos einfach mit autorun kombinieren
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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ß
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.021
Punkte
754
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.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.086
Punkte für Reaktionen
1.067
Punkte
314
... 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
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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"
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.021
Punkte
754
Für DSM 6.0 musst Du autorun V1.7 im Paketzentrum installieren.
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Kopier dir das Script nochmal.
Nur die Variablen anpassen und keine Änderungen mehr am Code vornehmen.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.086
Punkte für Reaktionen
1.067
Punkte
314
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?
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.086
Punkte für Reaktionen
1.067
Punkte
314
Und wo steht das du den absoluten Pfad in SOURCES und TARGET angeben sollst, also Oertelj/VolumeUSB1/usbshare/ ?
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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"
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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:

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.086
Punkte für Reaktionen
1.067
Punkte
314
Nur so nebenbei.... falls du keine Lust jede Menge Post hast, würde ich deine E-Mail Adresse aus dem Posting nehmen.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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.
 

Ziggy

Benutzer
Mitglied seit
08. Jun 2016
Beiträge
20
Punkte für Reaktionen
0
Punkte
0
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
'
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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