[Projekt] rsync -Alternative dateibasierte Datensicherung

Status
Für weitere Antworten geschlossen.

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Den gleichen Effekt hättest du erreicht, wenn du das v gesetzt und das --stats entfernt hättest. Hab's grad selber probiert und bei mir wird alles ins LOG geschrieben.

Tommes
 

elastico

Benutzer
Mitglied seit
31. Okt 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
OK, für den Fall dass noch andere über Error 23 stolpert und auf der Konsole – oder mit der Option "--log-file" im Log-File – den Fehler "file has vanished" gesehen haben, hier ein paar Indikatoren und Lösungen:

Ich habe zu Hause Macs und die Daten, die ich hier sichere, liegen auf einer Apple TimeCapsule. Der Mac erlaubt mit HFS+ einige Dateinamen, mit denen die Synology nicht klar kommt.

a) Ein "?" im Dateinamen ist ganz böse. Lösung: Datei umbenennen und ? ersetzen durch _ oder ganz weg lassen
b) Ein "/" ist ebenfalls nicht gut :D Die Synolgy vermutet dann ein Verzeichnis, dass es natürlich nicht gibt… Lösung: / durch _ ersetzen
c) Alias Einträge. Ich hatte einige Aliase, die auf lokale Daten meines MacBooks zeigten. Das ist zwar bequem (wenn ich am Mac die TimeCapsule im Finder öffne und per Doppelklick die lokale Datei bekomme), als Backup taugt das aber genau gar nicht ;) … Lösung: Wenn die Dateien gesichert werden sollen, dann die Originale dort ablegen von wo gesichert werden soll; In meinem Fall waren die Dateien egal, also habe ich die Aliase entfernt.

d) Blöd wird es, wenn die Probleme (Dateinamen/Aliase) innerhalb von Anwendungs-Paketen passieren. Im Finder sehen diese Pakete aus wie eine einzige Datei, die Anwendung/App eben. Dahinter verbergen sich aber komplexe Verzeichnis- und Dateistrukturen. Diese kann (sollte) man als Anwender aber nicht ändern, weil ansonsten die Anwendung nicht mehr funktionieren würde… Wenn dort also inkompatible Inhalte enthalten sind, können diese nach meinem bisherigen Kenntnisstand nicht per rsync gesichert werden.
Eine Lösung dafür habe ich noch nicht.

/edit – Schuppen vor den Augen :D

Lösung für den Fall d) ist einfach: Die App einfach komprimieren, also ZIP (im Finder mit rechter Maustaste, xyz komprimieren). Fertig. Für ein Backup IMHO völlig ausreichend. Klappt natürlich nicht, wenn die App an dem Ort, von dem gesichert wird, aktiv verwendet wird, klar. Ist bei mir aber nicht der Fall.

Nun habe ich eine Erfolgsmeldung vom Skript bekommen :) Sehr gut.

1:1 Backup der TimeCapsule, die ich als Netzwerkplatte für einige wichtige Daten nutze, ist damit wieder gelöst. DANK EUCH HIER!!! Synolgy-Support selbst war mir keine große Hilfe :(

Versioniertes Backup werde ich mir noch überlegen… Entweder finde ich Zeit und Lust um das Skript selbst zu erweitern – Oder ich greife den Voschlag auf, einfach diese 1:1-Sicherung auf der Synology selbst (lokal) über Synologys eigenes Versionsbackup noch einmal in Versionen zu sichern. Ist zwar einmal doppelter Platz, dafür anschließend mit Versionierung… ohne Bastelei am Skript. Mal gucken.

Ich bin erstmal zufrieden. DANKE DANKE DANKE!! - wo ist der Flattr-Button?
 
Zuletzt bearbeitet:

elastico

Benutzer
Mitglied seit
31. Okt 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Noch eine Ergänzung, die ich am Skript vorgenommen habe:

Oben bei den Backup-Quellen eine neue Variable MYEXCLUDE
(ich musste/wollte ein temp-Verzeichnis vom Backup ausnehmen)

# 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="…"
MYEXCLUDE="--exclude=temp/***" # eigene Ausnahmen definieren; jeweils --exclude=<verzeichnis/***> mehrere Ausnahmen mit Leerzeichen trennen

und weiter unten dann die vorhandene EXCLUDE-Variable ergänzt:

# RSync Optionen konfigurieren
#-------------------------------------------------------------------------
SYNCOPT="-ahRv" # v oder P anhängen für ausführlicheres LOG
LOGSTAT="--stats"
EXCLUDE="--exclude=@eaDir/*** --exclude=@Logfiles/*** --exclude=#recycle/*** --exclude=#snapshot/*** --exclude=.DS_Store/*** $MYEXCLUDE"
RECYCLE="--delete --backup --backup-dir=@Recycle/"$DATE"_$SCRIPTNAME"

Mit der Erweiterung kann man dann einfach oben, im Konfigurationsbereich, eigene Verzeichnisse/Dateien angeben, die nicht mit ins Backup sollen.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Nun habe ich eine Erfolgsmeldung vom Skript bekommen :) Sehr gut.
..
.
Ich bin erstmal zufrieden. DANKE DANKE DANKE!! - wo ist der Flattr-Button?

Dein Dank allein ist der Lohn unserer Arbeit. Es freut mich zu hören das dir das Script zusagt und wie du selber bemerkt hast bietet es auch ausreichend Ansatzpunkte um es zu erweitern und seinen persönlichen Wünschen und Vorstellungen anzupassen. Viel Spaß weiterhin

Tommes
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
a) Ein "?" im Dateinamen ist ganz böse. Lösung: Datei umbenennen und ? ersetzen durch _ oder ganz weg lassen
b) Ein "/" ist ebenfalls nicht gut :D Die Synolgy vermutet dann ein Verzeichnis, dass es natürlich nicht gibt… Lösung: / durch _ ersetzen

Ich bin erstmal zufrieden. DANKE DANKE DANKE!! - wo ist der Flattr-Button?

Der DANK alleine langt :)


a/b sind aber Probleme, die man sonst wohl nicht lösen kann.

Evtl. wäre aber wenn eh mehrere Macs hast CarbonCopyCloner eine Alternative, kostet halt ein wenig aber ist sehr gut.
Kannst zur Not auch alles in ein Image auf der DS sichern. Bei Bedarf auch verschlüsselt.

Oder du versuchst es mit Sync Folders Pro. Die App benutze ich seit Anfang an und bin sehr zufrieden.
Somit gleiche ich auch einfach meine iTunes Lib/Dateien auf mein NAS ab.
 

elastico

Benutzer
Mitglied seit
31. Okt 2014
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Evtl. wäre aber wenn eh mehrere Macs hast CarbonCopyCloner eine Alternative, kostet halt ein wenig aber ist sehr gut.
Kannst zur Not auch alles in ein Image auf der DS sichern. Bei Bedarf auch verschlüsselt.

Nö. (CCC bzw. SuperDuper habe ich)
Das Backup muss automatisch ohne Client-Rechner laufen.
wenn ich erst einen Mac einschalten muss, damit dieser eine Netzwerkplatte auf eine andere sichert, dann ist das Fehlerpotential (und das Vergessen) und der Nervfaktor viel zu hoch ;) Darum HABE ich ja eine Synology gekauft ;)

Ist ja auch kein echtes Problem - Lösungen habe ich oben ja dazu geschrieben. Muss man halt dran denken – und wer ohnehin aus alten DOS/Windows-Zeiten kommt, der vergibt solche "Schrägen" Dateinamen gar nicht erst :D
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
215
Punkte für Reaktionen
11
Punkte
18
Hallo zusammen,

ich hab mein Script auf die aktuelle Version angepasst.
Jetzt tritt aber eine komische Meldung im Fehlerlog auf:

FEHLER: Quellordner / /web nicht erreichbar...
Lokale Sicherung der DSM-Systemkonfiguration erfolgreich.

Man muss auch dazu sagen, ich habe 4 Quellordner bestimmt:
SOURCES="/Daten
/System
/homes
/web"

Und der Fehler kommt immer beim letzten Ordner. Ich hatte vorher /Daten an letzter stelle und die Meldung bezog sich dann auf den Quellordner Daten.

Eine Idee woran das liegen könnte?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Eine Erklärung hab ich dafür erstmal nicht sondern nur die Frage, ob du das Script als UTF-8 abgespeichert hast.
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
215
Punkte für Reaktionen
11
Punkte
18
Ja, ist UTF-8 codiert.
Bei mir wird das Script mit autorun gestartet, aber ich glaub nicht dass es eine Rolle spielt.

Ich hab jetzt kurz nur 1 Ordner als Quelle ausgewählt und das Script ist ohne Fehler durchgelaufen.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Ich kann den Fehler nicht nachvollziehen, bei mir werden immer alle Ordner erkannt.

Höchstens wenn ich mal ein Leerzeichen am Ende einer Quelle hatte, ging es nicht.
In deinem Fall sollte da ja nichts sein.

Probier es einmal so:

SOURCES="/Daten
/System
/homes
/web
"

oder aber einmal ohne slash bei web

SOURCES="/Daten
/System
/homes
web"


Wenn nicht jede Quelle einmal neuschreiben und am ende Enter drücken.
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
215
Punkte für Reaktionen
11
Punkte
18
Ja, jetzt hat's geklappt.
War vermutlich irgendwo noch ein Leerzeichen versteckt.
Thx
 

mann_0815

Benutzer
Mitglied seit
02. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Hallo und erst einmal vielen Dank für das tolle Script.
Ich hatte es bisher erfollgreich im Einsatz um meine wichtigsten Daten auf eine USB-Platte zu sichern.
Nun habe ich eine zweite externe USB HD angeschlossen und bekomme jetzt eine Fehlermeldung.

------------------------------------------------------------------------------------------------
RSync-Datensicherung unvollstaendig oder fehlgeschlagen - Sicherungsziel:
------------------------------------------------------------------------------------------------

Mit der Einstellung
TARGET="/usbshare/Backup_DS"
hat´s vorher funktioniert.

Kann mir einer erklären wie hier der Pfad angegeben werden muss.
Ich stehe gerade echt etwas auf dem Schlauch.

Vielen Dank schon mal
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Mal schauen wie die zweite Festplatte eingebunden wird, vielleicht ist es usbshare1 oder ähnliches.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Nur mal so..


Warum erstellst du das Script nicht einfach und legst es auf die externe Platte?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Erstmal ist die Frage wo das Script liegt, auf der USB-Festplatte oder auf der DS?

Für die Lokalisierung eines angeschlossen USB/SATA-Datenträgers am entsprechenden Anschluss sollte man eines der Such-Scripte im Wiki verwenden, welches das Script auf dem jeweiligen USB/SATA-Datenträgers sucht. Die Angabe von /usbshare im TARGET ist daher nicht nötig.

Du kannst das Script aber auch ohne das Such-Script z.B. mit autorun automatisiert ausführen, dafür musst du dann die entsprechenden Variablen (FROMTHISDEVICE und NOTTOSCRIPT) im Script richtIg setzen.

Tommes
 

mann_0815

Benutzer
Mitglied seit
02. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Hallo und vielen Dank für die Antworten.
Ich habe wohl zu sehr mit meinen Angaben gegeizt; sorry.


Mal schauen wie die zweite Festplatte eingebunden wird, vielleicht ist es usbshare1 oder ähnliches.

Ja, laut File Station:
Name: usbshare1
Ort: /volumeUSB1/usbshare

Ich bin total verwirrt wie ich denn nun den Pfad eingeben soll.
Zumal es vorher ohne die zweite Platte ja funktioniert hat und ich schon alle erdenklichen Konstellationen ausprobiert habe.
Kenne mich hier mit Linux absolut nicht aus (verzweifelt).


Nur mal so..
Warum erstellst du das Script nicht einfach und legst es auf die externe Platte?

Zweck war es auch in einem Ordner alle Scripte zu haben die dann auch gesichert werden.
Daher in einem Ordner auf der DS.


Erstmal ist die Frage wo das Script liegt, auf der USB-Festplatte oder auf der DS?

Für die Lokalisierung eines angeschlossen USB/SATA-Datenträgers am entsprechenden Anschluss sollte man eines der Such-Scripte im Wiki verwenden, welches das Script auf dem jeweiligen USB/SATA-Datenträgers sucht. Die Angabe von /usbshare im TARGET ist daher nicht nötig.

Du kannst das Script aber auch ohne das Such-Script z.B. mit autorun automatisiert ausführen, dafür musst du dann die entsprechenden Variablen (FROMTHISDEVICE und NOTTOSCRIPT) im Script richtIg setzen.

Tommes

Script liegt in einem Ordner auf der DS.
So, und nun bin ich angekommen wie der Ochse vorm Berg.
Ich habe mir das mit dem Such-Script mal angeschaut und verstehe erstmal nix mehr.
Eigentlich hat alles so gut angefangen doch nun zweifle ich schon wieder ein wenig.

Muss ich das such-Script vor dem rsync ausführen (separat) oder das such-script in das rsync-script mit einbauen.

Sorry falls die Fragen dumm klingen bin aber gerade am Ende und suche einen Ansatz zum weitermachen.

Vielen Dank für alle Tips.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Klar könnte man alle Scripte auf der DS lagern und zentral steuern, dass macht aber nur bedingt Sinn.

Problem ist hierbei, was ist wenn du mal statt Port1/2 oder 3 nimmst?
Was ist wenn man mehrere Platten nutzt aber unterschiedlich sichern will.

Genau aus diesen Gründen haben wir es so geschrieben, dass das Script in dem Fall auf der externen liegt.
Dort landen dann auch die Logs.

Ich könnte das Script umschreiben/erweitern aber, dann gebe es noch eine Variable/ noch mehr Abfragen.

Moment vergiss es ich sende es dir per PN
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.148
Punkte für Reaktionen
1.113
Punkte
314
Ergänzend zu PsychoHH's Ausführungen möchte ich noch sagen...

Eigentlich hast du das Problem bereits erkannt. Denn solange du nur "einen" externen Datenträger verwendest und auch nie einen "weiteren" externen Datenträger gleichzeitig einsteckst, lautetet der Pfad zum externen Datenträger immer /volumeUSB1/usbshare. Hast du aber zwei oder mehr externe Datenträger gleichzeitig angeschlossen oder vielleicht einen nicht richtig aus dem System "ausgehangen", dann kann der Pfad zum externen Datenträger auch mal /volumeUSB2/usbshare, oder /volumeUSB3/usbshare heißen. Und da man das niemalsnie 100%ig ausschließen kann, hilft dir das Such-Script bei der Lokaliserung des Scriptes, welches auf dem jeweiligen, externen Datenträger liegt. Weiterhin werden im Script selber dann auch die Pfade automatisch angepasst, weshalb es dann egal ist, wo dein externer Datenträger gemountet wurde. Das ist auch der Grund warum du als SOURCE und TARGET keine "globalen" Pfade wie /volume[x] angeben musst.

Daher sollte es so sein, das du das Script auf dem jeweiligen "externen Datenträger" ablegst und mit den nötigen Daten für SOURCE und TARGET sowie ggfls. weitere Optionen fütterst. Ist das geschehen, kopierst du dir ein von den im Wiki stehenden Such-Scripts auf deine DS, konfigrierst ggfls. auch dieses noch und verknüpft das Such-Script dann mit dem Aufgabenplaner des DSM. Sobald du das Such-Script über den Aufgabenplaner ausführst, wird nach Sripten auf allen extern angeschlossenen Datenträgern gesucht und bei Erfolg ausgeführt.

Lies dir bitte auch noch mal in Ruhe das Wiki aufmerksam durch, dann sollten einige Dinge vielleicht klare sein.

Probier mal, wie du damit zurecht kommst, ansonsten helfen PsychoHH und ich der auch gerne weiter... bis es läuft.!


Tommes
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
Dem ist eigentlich nichts mehr hinzuzufügen.


Ich wollte ihm jetzt mal das Script individuell anpassen, sodass man das Ziel genau angeben kann dennoch will ich das nicht verantworten.

Denn nur mit den Möglichkeiten die wir geben ist man immer auf der sicheren Seite, dass das Backup auch auf der richtigen Platte landet.


Solltest du meine Nachricht dennoch eben bekommen haben lösch diese einfach mal, ich kann aber nicht sehen, dass was gesendet wurde.
 

mann_0815

Benutzer
Mitglied seit
02. Apr 2008
Beiträge
26
Punkte für Reaktionen
0
Punkte
7
Euch zwei vielen Dank.

PsychoHH:
Gut das du es nicht geschickt hast.
Es geht ja auch darum zu verstehen was mit dem Script passiert.
Bin mir nur noch nicht im klaren darüber warum im Script die Option überhaupt vorhanden ist.

Tommes:
Genau so ist es.
Ich werde es mal so ausprobieren.
Ich hoffe das ich am Wochenende mal zum rumspielen komme und mir in Ruhe das Wiki durchlesen kann.

Ich werde bei Gelegenheit über meine Erfolge oder „Rückschläge“ berichten.

Bis dahin,
vielen Dank.
 
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