Cloud Station Daten von Share auf USB kopieren

Status
Für weitere Antworten geschlossen.

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich beschäftige mich mit dem Thema seit gestern und finde irgendwie nicht den richtigen Ansatz.
Ich habe auf meiner Synology ein "Share" auf dem ich täglich eine Sicherung eines meiner Geräte aus dem Netzwerk erstelle.
Die Struktur sieht wie folgt aus....

- Hauptordner "Datum_Uhrzeit" (20170624_0515)
- Unterordner1
- Unterunterordner1
- Dateien

Nun möchte ich mit HyperBackup die Struktur ab Unterordner1 und alles unter diesem Unterordner1 ins Root vom an die Synology angeschlossenen USB Stick (usbshare1) kopieren.
Das soll täglich passieren und der bereits bestehende Ordner auf dem USB Stick (usbshare1) vom Vortag soll überschrieben werden.

Wichtiger Hinweis....Der Name des Hauptordners ändert sich natürlich immer wieder durch das neue Datum und damit die neue Benamung.

Kann ich das mit HyperBackup umsetzen und wenn ja wie bzw. wenn Nein was kann/muss ich dann nutzen.

Vielen Dank für jede Unterstützung.

Gruß

Shawn26
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.088
Punkte für Reaktionen
1.072
Punkte
314
Hi!

Wichtiger Hinweis....Der Name des Hauptordners ändert sich natürlich immer wieder durch das neue Datum und damit die neue Benamung.

Kurze Verständnisfrage. Handelt es bei diesem Ordner um einen "gemeinsamen Ordner" also um einen Ordner, den du im DSM über Hauptmenü -> Systemsteuerung -> Gemeinsamer Ordner täglich änderst? Das würde ich aber für sehr aufwändig halten, aber das war ja nicht die Frage.

Wie dem auch sei... ich denke nicht das das geht. Zum einen muß Hyper Backup (oder irgendein anderes Backupprogramm) erkennen, das sich der Ordnername in der Quelle geändert hat, und es muß erkannt werden, das der Ordner im Ziel des USB-Datenträger gelöscht werden soll, der am Vortag angelegt wurde. Sowas kannst du, wenn überhaupt, nur selber programmieren.

Tommes
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Ok daran liegt es. Das bekomme ich selbst nicht hin. Der Ordnername ist immer das aktuelle Tagesdatum plus Anhang. (Bsp.: 20170625_xxxx). Das xxxx könnte sich ändern und müsste mit einer Variablen belegt werden. Wie gesagt der vordere Teil ist immer das aktuelle Tagesdatum in amerikanischer Form. Das Ziel kann eigentlich immer komplett gelöscht werden bzw. ist das immer der Tagesdatum minus 1 Tag.
Ändert das etwas an der Ausgangslage bzw. wenn "Nein" kann mich jemand bei der "Programmierung" unterstützen?

Sage schon einmal Danke.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Mit HyperBackup geht es nicht aber selbst schreiben könnte man dies schon.
Theoretisch bräuchte man auch nur ein paar Befehle und Variablen.

1. Du ließt den Ordner z.B. per find + options ein und hast somit die Quelle. Oder aber schaust einfach ob der Ordner NAME + Datum_XZEIT vorhanden ist.
2. Du löscht den älteren Stand auf dem Stick
3. Du kopierst nun den aktuellen Ordner auf den Stick
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Hallo,

wie es theoretisch geht ist mir klar.
Aber gerade bei Punkt 1 und 2 bräuchte ich Unterstützung.

Zu Punkt 1 weiß ich nämlich nicht wie das mit find + options funktioniert und
Zu Punkt 2 das ich auch der Synology ja mit einem externen Gerät keinen wirklichen Laufwerksbuchstaben habe und nicht weiß wie ich dann den Ordner löschen kann.

Wenn da jemand mir hier weiterhelfen kann wäre ich sehr dankbar.

Sage schon einmal Danke!
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
1. z.B. so:

Rich (BBCode):
#!/bin/bash

var_dir="Hauptordner"
var_date=$(date +%Y%d%m)
var_find=$(find /volume1 -maxdepth 1 -type d -name "$var_dir*$var_date*")

if [ -n "$var_find" ]; then
    echo "$var_find wurde gefunden und als Quelle gesetzt"
fi

Als Ausgabe kommt dann z.B. sowas wie:
/volume1/Hauptordner 20172506_1914 wurde gefunden und als Quelle gesetzt


2. Hier kann man gut ein Script auf den Stick legen und dort mit arbeiten. Den Pfad kann man direkt per bash auslesen oder aber einfach per find suchen mit /volumeUSB?/usbshare usw ..


Mach einmal einen genauen Plan und Liste es auf, dann hilft dir sicher einer
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.088
Punkte für Reaktionen
1.072
Punkte
314
@PsychoHH
Komm nur nicht auf die Idee, daraus ein eigenständiges SPK basteln zu wollen :D
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Also dann versuche ich es mal so genau wie möglich zu beschreiben.

Jeden Morgen um 04:30 erstellt mein Receiver ein komplettes Backup von der Software die auf ihm läuft und sichert dieses Backup auf meine Synology.
Ich habe einen gemeinsamen Ordner der "Share" lautet und auf Volume 1 liegt.
Die Ordnerstruktur des Backup sieht wie folgt aus.
/Volume1/Share/automatic_fullbackup/Tagesdatum_0430/vuplus/.... (Bsp für Tagesdatum: 20170625_0430)
Nun möchte ich morgens gegen ca. 05:00 Uhr alles ab dem Ordner "vuplus" und darunter incl. Ordner und Dateien auf einen USB Stick der an die Synology als externes Gerät (usbshare1) angeschlossen ist kopieren und natürlich den vorhandenen Ordner "vuplus" und alles was darunter liegt auf dem USB Stick überschreiben oder ebend löschen.
Wenn mir das jemand umsetzen könnte wäre ich echt sehr dankbar.

Vorab vielen Dank.
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
@PsychoHH:
Kannst Du hier vielleicht weiterhelfen?
Jeder andere ist natürlich auch gern gesehen.

Weiterhin Danke für jede Hilfe.

Shawn26
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
Vorausgesetzt, dass es nur eine Partition auf dem Stick gibt:

rsync -av --delete-after /Volume1/Share/automatic_fullbackup/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]/vuplus/ /volumeUSB1/usbshare/vuplus/

Gib rsync beim ersten Mal noch --dry-run mit, dann kannst du gefahrlos sehen, was es machen würde.

Gibt es mehrere Partitionen auf dem Stick, heißt es am Ende z. B. bei der zweiten Partition als Ziel: /volumeUSB1/usbshare1-2/vuplus/
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Das heißt ich würde folgende Zeile in einen Texteditor geben und dann als "Copy.sh" abspeichern. Richtig?

Rich (BBCode):
rsync --dry-run -av --delete-after /Volume1/Share/automatic_fullbackup/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]/vuplus/ /volumeUSB1/usbshare/vuplus/

Ich könnte doch dann in der Aufgabenverwaltung der Synology eine Aufgabe mit dem "Copy.sh" anlegen und diese dann immer gegen 05:00 Uhr laufen lassen. Richtig?
Wo muss das Script dann liegen?

Wird bei diesem Script auch der alte Ordner "vuplus" auf dem USB Stick vor dem Kopieren gelöscht, weil ich dort "--delete-after" lese oder wird die Quelle gelöscht? Das
muss nämlich nicht der Fall sein.

Weiterhin vielen Dank!

Gruß

Shawn26
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
Du sollest das Skript erst in den Aufgabenplaner übernehmen, wenn Du es auf einer Shell erfolgreich getestet hast. Ich würde es auf ein Volume legen, damit es nicht bei einem DSM-Update gelöscht wird.

--delete-after bezieht sich nicht aufs Löschen an der Quelle - das passiert nicht -, sondern darauf, dass Daten, die an der Quelle gelöscht werden, auch im Backup gelöscht werden.
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Wie teste ich es in der Shell?
Aber Daten an der Quelle werden doch nicht gelöscht und somit auch nicht am Ziel, richtig?
Es soll ja nur der Ordner "Vuplus" am Ziel gelöscht werden bevor es neu kopiert wird. Wäre das bei dem o.g. Script der Fall?

Weiterhin vielen Dank.

Shawn26
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
In das entsprechend Verzeichnis gehen und das Skript per ./Copy.sh starten.

Wenn das Ziel immer gelöscht werden würde, müssten die Daten ja jedes Mal komplett kopiert werden. So arbeitet rsync nicht. Es werden nur neue und geänderte Daten kopiert.
 

braindrain

Benutzer
Mitglied seit
01. Apr 2015
Beiträge
43
Punkte für Reaktionen
0
Punkte
6
Nun möchte ich morgens gegen ca. 05:00 Uhr alles ab dem Ordner "vuplus" und darunter incl. Ordner und Dateien auf einen USB Stick der an die Synology als externes Gerät (usbshare1) angeschlossen ist kopieren [...]

Ich weiß es trägt nicht zur Beantwortung der eigentlichen Frage bei, aber es interessiert mich schon:
Wie oft zerschießt Du denn Deinen Receiver am Tag, dass regelmäßig solche Wiederherstellungsvorkehrungen treffen musst?
Ich mache so ein Backup manuell, bevor ich das Image aktualisiere. So 2-3 mal im Jahr.
 
Zuletzt bearbeitet:

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
War bei mir ähnlich mit der vu+ als ich sie noch genutzt habe. Immer kurz vorm flashen und alle zwei Wochen inkrementell.
Komplett automatisch direkt aufs NAS.
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Da es sich um eine Imagesicherung eines Receiver handelt denke ich macht es kein Sinn nur inkrementell zu sichern, oder? Ggfs. passen die Dateien dann nicht mehr zusammen.
Ist jedenfalls meine Vermutung.
Wie gehe ich denn in das Verzeichnis und starte dann das Skript per ./Copy.sh?
Sorry bin da nicht so firm drin.

Danke weiterhin für jede Hilfe.

Aktuell habe ich es auf jeden Tag eingestellt, weil ich gerade damit anfange. In welchem Zyklus die Sicherung gemacht werden soll bzw. wird darüber mache ich mir Gedanken wenn es grundsätzlich funktioniert.

Shawn26
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.715
Punkte für Reaktionen
1.022
Punkte
754
Die Daten passen zusammen, weil die Daten synchron gehalten werden. Zum Thema Shell (bzw. Kommandozeile) und Befehle wie cd (change directory) empfehlen ich Dir den umfangreichen Abschnitt im Wiki. Starten erfolgt - wie schon geschrieben - per ./Copy.sh plus drücken der Return-Taste.
 

hvkls

Benutzer
Mitglied seit
23. Dez 2012
Beiträge
463
Punkte für Reaktionen
0
Punkte
22
@Shawn26

Es fehlen noch der Pfad zu rsync auf deinem System, den du mit
Rich (BBCode):
which rsync
herausfinden kannst, und das "Shebang". Der Code sähe dann zum Beispiel so aus:

Rich (BBCode):
#! /bin/sh
$( /usr/bin/which rsync ) --dry-run -av --delete-after /Volume1/Share/automatic_fullbackup/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]_[0-9][0-9][0-9][0-9]/vuplus/ /volumeUSB1/usbshare/vuplus/

Ein Script "Copy.sh" musst du noch ausführbar machen, mit
Rich (BBCode):
chmod 0755 Copy.sh
, danach kannst du es als Programm selbst ausführen oder ausführen lassen.

--dry-run # Tut nur so: in Wirklichkeit kopiert oder gelöscht wird durch die Angabe dieses Parameters gar nichts.
-a # Mit allen Rechten
-v # Zeigt an, was gerade kopiert wird
--delete-after # Nur wenn der Kopierprozess erfolgreich war, lösche bereits vorher vorhandene "alte" Zieldateien

Rich (BBCode):
man 1 rsync
;)
 

Shawn26

Benutzer
Mitglied seit
21. Jan 2012
Beiträge
63
Punkte für Reaktionen
0
Punkte
6
Also mit Which rsync bekomme ich keine Antwort.
Es kommt einfach wieder die Eingabeaufforderung.

Weiß jemand woran das liegt?

Shawn26
 
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