Cloud Station Remote-Ordner mit Ordner auf DS synchronisieren

Status
Für weitere Antworten geschlossen.

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Guten Morgen zusammen,

Ich habe folgende Frage und zwar habe ich einen USB-Stick von meiner FRITZ!Box per "Remote-Ordner" mit der DS verbunden.

Nun würde ich gerne haben, dass der Inhalt des USB-Sticks (= Remote-Ordner) automatisch in einen Ordner auf der DS verschoben wird, sobald die DS startet.

Wie kann ich dies realisieren?

MfG
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Einfach ein mv per Aufgabenplaner nach hochfahren durchführen.

Am besten vorher ein sleep und dann checken ob der Ordner eingebunden ist.
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Ähm, DANKE erstmal, aber ginge das eventuell noch etwas ausführlicher? ;-)
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Die Frage ist, was passiert mit den alten Daten vom letzten mal?
Können die einfach gelöscht werden? Sollen die bestehen bleiben? Werden Daten überschrieben?

Grundsätzlich wirst du dich dazu in unix-bash einlesen müssen. Sonst tust du dir schwer, die Befehle einfach abschreiben und dann ausführen ist halt gefährlich, wenn du nicht verstehst was du tust.
Suche einfach nach "bash tutorial deutsch".

Je nach deinen Anforderungen könnten die Befehle cp, rsync, oder mv interessant sein.

Falls die alten Daten zuerst allesamt gelöscht werden sollen, könnte auch rm interessant werden.

Bei den Aufgaben kannst du ausgelöste Aufgaben erstellen. Als Zeitpunkt wählst du dann "Hochfahren".
Der Inhalt der Aufgabe ist dann ein von dir gewünschtes Bash-Skript.

Also zB. beim cp Befehl in der Art
cp -r /USBStick/Ordner /Volume1/GemeinsamerOrdner/Zielordner
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Also, die Daten vom dem USB-Stick sollen nach verschieben gelöscht werden.

Die vorhandenen Daten im Ordner auf der DS sollen erhalten bleiben und quasi nur mit den neuen Daten "ergänzt" werden.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Extra für dich geschrieben, konnte es nur nicht testen.


Rich (BBCode):
#!/bin/bash

quellordner="/volume1/Daten/verschieben"
zielordner="/volume1/Daten/hierher"
log="/tmp/copymove.log"

# move = 1 verschieben sonst kopieren
move="1"

# Zeit in Sek die gewartet werden soll
sleep="20"



### Script ###
[ -z "$sleep" ] && sleep="20"
[ -z "$quellordner" ] && echo "Quellordner muss angegeben werden !" >> "$log" && exit 1
[ -z "$zielordner" ] && echo "Zielordner muss angegeben werden !" >> "$log" && exit 2
[ -z "$log" ] && log="/tmp/copymove.log
echo "" > "$log"
p=1
while [ $p -le 9 ]; do
  if [ -d "$quellordner" ]; then
    p="10"
  else
			p=`expr $p + 1`
  fi
  sleep $sleep
done


if [ ! -d "$quellordner" ]; then
  echo "Quellordner: $quellordner konnte nicht gefunden werden !" >> "$log"
  exit 3
fi

# Zielordner erstellen
mkdir -p "$zielordner" >> "$log"

# Ordner verschieben
if [ $move -eq 1 ]; then
  cd "$quellordner"
  echo "mv * $zielordner/" >> "$log"
  mv * "$zielordner"/ >> "$log"
# Ordner kopieren
else
  echo "cp -r $quellordner/* $zielordner/" >> "$log"
  cp -r "$quellordner"/* "$zielordner"/ >> "$log"
fi
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Okay, blöde Frage noch zum Ganzen? Warum hängt der Stick am Router, und nicht am NAS direkt? Beim NAS könntest du dann zB. mit USBCopy oder evt. auch anderen Anwendungen (Hyperbackup?) die Daten rüberspielen.

Ansonsten habe ich dir eh schon geschrieben, les dich kurz in Bash ein.
Mit cp <QUELLE> <ZIEL> kopierst du Daten.
Mit cp -r wären zusätzlich Unterordner mit kopiert, falls du da Unterordner hast.

Mit rm -rf <QUELLE>/* löscht du den Inhalt am USB Stick.


Beim Beispiel von PsychoHH siehst du dann schon, was noch alles möglich ist mit der Bash (Logging, Parameter, ...). Aber wie gesagt, ich an deiner Stelle würde versuchen, zu verstehen, was ein Skript tut. Sonst kommt irgendwann die böse Überraschung wenn du mal Quelle und Ziel vertauscht und alles weg ist :rolleyes:
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Vergiss aber bitte wieder rm -rf ;)
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Mein Szenario ist so:

Ich habe ein Netatmo Presence, die mittles ftp ihre Aufnahmen zur FRITZ!Box kopiert.

Ich hatte das zuerst so konfiguriert, dass die Kamera direkt auf die DS kopiert, jedoch werden nur die Aufnahmen kopiert, die gemacht werden, wenn die DS läuft!

D.h. Wenn die DS aus ist, werden keine Aufnahmen übertragen, auch nicht nachträglich, wenn die DS wieder läuft -> die Aufnahmen sind dann nicht gesichert.

Deswegen der Aufwand mit der FRITZ!Box...
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
So mal VIELEN DANK an alle, die mich unterstützt haben.

Ich hab das Ganze wirklich einfach per "mv" lösen können.

Ich lasse den Befehl einfach einmal täglich ausführen.
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Eine Verständnis-Frage zum "mv"-Befehl hätte ich noch:

Was passiert, wenn ich einen Ordner verschiebe, der weitere Unterordner enthält, in denen Dateien sind hinzugefügt werden.

Also, ich habe Ordner A, in dem sich Ordner B mit Dateien befindet.

Ich verschiebe täglich Ordner A (und damit auch Ordner B). In Ordner B werden immer wieder Dateien hinzugefügt.

Was passiert dann beim Verschieben der Ordner, bleiben die Dateien in Ordner B vom voherigen Verschieben vorhanden oder werden diese gelöscht und es sind nur die Dateien vom "aktuellen" Verschieben vorhanden?
Wird Ordner B also ersetzt oder einfach ergänzt?
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Ich glaube du wirst einen Fehler bekommen ala
mv: cannot move 'source/foo' to 'target/foo': Directory not empty

Daher auch in den Posts von Seite 1 mein Hinweis, dass du möglicherweise "cp -r" benötigst und falls der USB Stick geleert werden soll evt. "rm".

Ich kann aber nur nochmals betonen. Verbinde dich mit SSH auf dein NAS, und teste die Befehle mal vorher aus bevor du da irgendwelche Befehle im Aufgabenplaner reintust, wo dir selber nicht sicher bist, was die tun.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.635
Punkte für Reaktionen
2.041
Punkte
829
Kann das nur unterstreichen und hinzufügen, dass ich empfehlen würde, fürs Testen mit Testdaten zu arbeiten, und Befehle oder ein Shellskript erst dann auf produktive Daten anzuwenden, wenn die Testläufe erfolgreich waren - und auch dann idealerweise nur auf Daten, die bereits gesichert wurden, wenn sie wichtig sind.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
cd "/source/foo"
echo "mv * target/foo/"

Sollte aber klappen und danach ruhig rmdir statt rm
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Ja, das könnte klappen, wenn er immer nur den Inhalt - also die Dateien - von Ordner B verschiebt. Wenn B Unterordner hat, gehts nicht mehr.

Das ist aber viel Rätsel raten.
Blöd wirds, wenn seine Anwendung (Netatmo Presence) auch irgendwann mal einen Ordner C statt B anlegt oder sonst was. Pauschal kann ich hier keine weiteren Ratschläge mehr abgeben... :)
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Mal DANKE nochmal.

Ich finde es halt nur etwas blöd, dass man das nicht mit Bordeigenen Mitteln lösen kann....
 

tproko

Benutzer
Sehr erfahren
Mitglied seit
11. Jun 2017
Beiträge
2.117
Punkte für Reaktionen
256
Punkte
129
Du kannst es ja mit den bordeigenen Mitteln lösen. Gesteuerte Aufgabe und eigenes Skript.
Linux / DSM bietet hier sehr (sehr sehr) viel Möglichkeiten mit der Bash.
Du kannst quasi tun was du willst (ohne root Einschränkungen wie etwa bei Android per Default bekannt). Nur in dem Fall sind halt Linux-Kenntnisse erforderlich. Aber es gibt hier gottseidank seitens Synology DSM keine Einschränkungen.

----

Ein Programm oder GUI, die dir da den Skript-Teil abnimmt, ist mir leider nicht bekannt (worauf du dich wohl beziehst mit bordeigenen Mittel).

Ich kanns nur nochmal sagen, man kommt schnell weit mit Bash-Basics... aber es ist halt doch eine etwas "advanced" (nicht so alltägliche Anfrage), daher musst du dann wohl auch Eigeninitative leisten.
Die meisten Leute würden sich wahrscheinlich den Umweg über den Router sparen, das NAS dauerhaft laufen lassen, somit könnte die Kamera immer drauf kopieren :)
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
Um die ganze Thematik mit den Unterordnern zu umgehen, wäre da eventuell "rsync" mit anschließendem löschen des Inhalts im Quellverzeichnis noch ein alternativer Ansatz?

Vom Lesen her könnte das eventuell was sein?!
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
cp langt doch aber. Oder find + cp/mv/rsync. Gibt viele Wege
 

MRiggs

Benutzer
Mitglied seit
15. Nov 2016
Beiträge
119
Punkte für Reaktionen
2
Punkte
18
So, ich hab mal etwas weiter gelesen:

rsync –va --remove-source-files ORDNER A/ ORDNER B/
rm –dir ORDNER A

Ich denke, dass das so gehen müsste?
Wartet der Löschbefehl dann bis rsync "fertig" ist?
Werden im Aufgabenplaner dann einfach die beiden Zeilen untereinander eingegeben?

DANKE
 
Zuletzt bearbeitet:
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