[Projekt] rsync -Alternative dateibasierte Datensicherung

  • 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.
Fehler wurde beseitigt.

Gibt bald ein Update.

Das Logfile kannst du dir selbst sehr leicht kopieren/verschieben.
Einfach am Ende per mv/cp wie gewünscht.

Ich empfehle aber die Logfiles immer beim Script zu lassen.
 
OK, Thomas (gente)

Ich lag wohl falsch mit meiner Vermutung, sorry. Aber PsychoHH konnte den Fehler ausfindig machen und korrigieren. Wir haben das, jeder für sich nochmal durchgetestet und sollte jetzt funktionieren. Dank dir auf jeden Fall für dein Feedback.

Geh also nochmal ins Wiki und kopier dir das Script ab hier...

Code:
# ------------------------------------------------------------------------
# Ab hier bitte nichts mehr ändern, wenn man nicht weiß was man tut !!!  |
# ------------------------------------------------------------------------

...nochmal neu. Den oberen Teil kannst du so lassen wie er war.

Bitte berichte, ob jetzt alles so läuft wie es soll.

Tommes
 
Danke,
jetzt funktionieren wieder beide Möglichkeiten der Script Speicherorte :)
LG Thomas
 
Perfekt. Und nochmal sorry für den Patzer, ich hoffe du hast nicht allzuviel Datenmüll produziert.
 
Bekomme folgende Fehlermeldung:

Rich (BBCode):
Ausgefuehrtes RSync-Script: kevin-bilder-rsync.sh

------------------------------------------------------------------------------------------------
Zielordner photo wurde lokalisiert...

Quellordner 07_photos wurde lokalisiert...

------------------------------------------------------------------------------------------------
ACHTUNG: Quellordner 07_photos nicht erreichbar...
------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------
ACHTUNG: Quellordner 03_Personen nicht erreichbar...
------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------
RSync-Datensicherung unvollstaendig oder fehlgeschlagen - Sicherungsziel: /volume1/photo/kevin/
------------------------------------------------------------------------------------------------

Habe folgende Einstellungen gemacht:

HTML:
SOURCES="/07_photos/Private Fotos/03_Personen"
#         /07_photos/Private Fotos/05_Urlraub

# Backup - Ziel

TARGET="/photo/kevin/"

NOTTOSCRIPT="1"       # "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
Quelle:
Möchte alle Ordner und Unterordner und Datein vom pfad:volume1/07_photos/Private Fotos/03_Personen
da kommen noch mehr order hinzu...../07_photos/Private Fotos/05_Urlraub......und noch mehr wollte aber erstmal testweise nur ein Ordner durchlaufen lassen.

Ziel:
volume1/photo/kevin/

script liegt unter volume1/90_ScriptStuff/kevin-bilder-rsync.sh
unt hat folgende berechtigungen: -rwxrw-rw- 1 root root 26289 May 3 15:43 kevin-bilder-rsync.sh


was mache ich falsch ?
 
Hi!

Das Problem ist das Leerzeichen im Ordnernamen "Private Fotos"
Ich habe jetzt auf die Schnelle auch keine funktionierende Möglichkeit gefunden, wie man das Leerzeichen maskierten könnte, ich such aber weiter. Für den Moment kann ich dir nur den Tipp geben das du entweder den Ordner "Private Fotos" in z.B. Private_Fotos änderst, oder du den darüberliegenden Ordner als Quelle angibst, also z.B. 07_photos.

Ich meld mic hauf jeden Fall, wenn ich rausgefunden habe, wie man ein Leerzeichen innerhalb des Arrays maskieren kann.

Tommes
 
...Ordner mit Leerzeichen funktionieren nicht, hatte ich auch schon.
Wenn der Root nicht passen würde geht gar nichts.
LG Thomas
 
Ich würde mal probieren das Leerzeichen zu escapen. Also anstatt Leerzeichen einfach \Leerzeichen

Beispiel:
SOURCES="/07_photos/Private\ Fotos/03_Personen"
 
Zuletzt bearbeitet:
An den Backslash habe ich auch gedacht und es gerade getestet, funktioniert nicht.
 
ok, schade. Dann müßte man mal schauen, wie die SOURCES weiter verarbeitet wird, wieso das nicht geht.
 
Auf die Idee mit dem Private\ Fotos oder auch dem Private*Fotos bin ich auch schon gekommen, jedoch funktioniert das nicht. Ich schätze, das wir das Leerzeichen später bei der Auswertung der Quellordner/Zielordner (Quelleordner checken bzw. Zielordner checken im Script) irgendwie umschreiben müssen, damit das klappt. Aber erstmal hören, was PsychoHH dazu zu sagen hat, der schüttelt in der Regel immer gleich den passenden Codeschnipsel aus dem Ärmel

Anderseits ist Linux manchmal echt 'ne Diva!

Tommes
 
Oh.. ist nicht ganz so easy das zu lösen.
Jedenfalls langt zur zeit kein escapen.

Erstmal gibt es jetzt bald wohl eine wol Funktion wenn Tommes bestätigen kann, dass es funktioniert.
Diese soll dann auch mit dsm 5/6 laufen.


Ich werde als nächstes mal schauen wie ich das bestmöglich löse um Pfade mit Leerzeichen aufzunehmen.
 
Seht ihr. Sag ich doch... PsychoHH macht das schon :D

Der Typ ist und bleibt halt der Knaller.

Jepp. Ich teste WOL und Shutdown jetzt mal. Wieder so ein Knaller von PsychoHH, was gestern bereits in den Grundzügen schon funktionierte. Script wird gestartet, entfernte DS wird geweckt, Sicherung wird durchgeführt, entfernte DS fährt wieder runter. Noch fragen?

Tommes
 
Vielleicht geht es mit der Variablen IFS=$'\n'. Probiert es einmal damit:

Rich (BBCode):
# Beginn der RSync-Datensicherung
#--------------------------------------------------------------------------
IFS=$'\n'
for SHARE in $SOURCES; do

In meinem kleinen Testskript funktioniert es damit.
 
Zuletzt bearbeitet:
@dill88
Wenn ich das mache, wirft mir RSync einen Exit-Code (1) aus. BTW: ich wusste garnicht, das du unser Script bereits testest :o
 
Es gab ja nun einen konkreten Anlass. :)

Bei mir funktionierts auch auf der DS, allerdings teste ich auch nur mit einem kleinen Codeschnipsel:

Rich (BBCode):
#!/bin/sh

SOURCES="dideldi
blah fasel"

IFS=$'\n'
for SHARE in $SOURCES; do
  echo $SHARE
done

liefert den gewünschten Output:

Rich (BBCode):
dideldi
blah fasel

im Gegensatz zum aktuellen Stand mit diesem Output:

Rich (BBCode):
dideldi
blah
fasel
 
Möchte echt zu gerne wissen was der Code dideldi, blah und fasel bewirkt :)
 
Problem mit Leerzeichen gelöst.

Das war ne tolle sache... ganz schöner Aufwand :O
 
Wirst Du hier im Wiki finden, sobald sich die Kollegen wieder melden. Bin auch schon auf die Umsetzung gespannt. ;)
 
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