Dreizehn
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Hallo! Ich sichere in (relativ unregelmäßigen Abständen) auf eine Raid 5 Server, der über USB an meinen Rechner angeschlossen ist.
rsync -av --delete --progress /home /media/dreizehn/RaidServer/ Leider habe ich immer nur darauf geachtet, dass neue Dateien auch kopiert wurden. Soweit ich mich erinnern kann habe ich nicht kontrolliert ob Dateien, die bei der Quelle gelöscht wurden, auch im Ziel entfernt worden sind. Deshalb kann ich nicht sagen wie lange das Problem schon besteht.
Bemerkt hab ich es weil ich Ubuntu neu installiert habe und nach dem Holen der Dateien vom RaidServer einige Ordner (die ich in der Vergangenheit zwischen den einzelnen Sicherungen verschoben hatte) plötzlich mehrfach hatte; also zusätzlich in all den "Vorgängerordnern". Jetzt habe ich probeweise Dateien in den Quellordner kopiert. Diese wurden mittels dem oben erwähnten Befehl problemlos kopiert. Wenn ich die Dateien in der Quelle lösche, bleiben sie nach rsync aber weiterhin im Ziel bestehen. Ich habe es auch schon mit sudo probiert, hatte aber dasselbe Ergebnis. Bevor ich dieses Thema erstellt habe, hab ich bereits einige Stunden lang online gesucht, konnte aber leider nichts finden, was mich der Lösung näher gebracht hat. Vielleicht hat jemand eine Idee wo hier das Problem liegt und kann mir bitte weiterhelfen.
Danke!
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo Dreizehn, welche Version von rsync verwendest du? Edit: Beide Versionen sind hier relevant, also sowohl vom Client, als auch vom Server. Viele Grüße Vej
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Hallo Vej schrieb: Hallo Dreizehn, welche Version von rsync verwendest du?
dreizehn@dreizehn-kubuntu:~$ rsync --version
rsync version 3.1.1 protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, prealloc
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
dreizehn@dreizehn-kubuntu:~$
Edit: Beide Versionen sind hier relevant, also sowohl vom Client, als auch vom Server. Viele Grüße Vej
Mir war gar nicht bewusst, dass es sowohl auf dem Server als auch auf dem Client sein kann.
Ich hatte die Beschreibung von rsync so aufgefasst, dass es bei Ausführung des genannten Befehls "nur" kontrolliert ob die Ordner/Dateien im Ziel genauso vorhanden sind und gegebenenfalls aktualisiert/ersetzt/löscht. Hab ich das falsch verstanden?
|
Lookbehind
Anmeldungsdatum: 28. Januar 2010
Beiträge: 1070
|
Vielleicht musst du mal ein wenig genauer umschreiben was du mit "Server" meinst. Du sprichst von einem RAID5-Server, da gehen die meisten hier davon aus, dass das ein separater Computer ist, mit eigenem Betriebssystem und allem. In dem Fall ist rsync so Clever, dass es sowohl Client als auch Serverseitig startet (sofern auf beiden vorhanden und richtig aufgerufen) und die nötigen Berechnungen direkt auf den entsprechenden Systemen macht. Das spart enorm Bandbreite im Netzwerk. Deine Beschreibung liest sich aber abschnittsweise, als wäre das "nur" ein RAID-Fähiges USB-Gehäuse mit mehreren Platten drin. Ein Drobo oder sowas. In dem Fall gäbe es nur eine Instanz von rsync, weil es keinen wirklichen "Server" im eigentlichen Sinne gibt. In dem Fall wäre eher das Dateisystem auf welches du sicherst von Interesse.
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Lookbehind schrieb: Vielleicht musst du mal ein wenig genauer umschreiben was du mit "Server" meinst. Du sprichst von einem RAID5-Server, da gehen die meisten hier davon aus, dass das ein separater Computer ist, mit eigenem Betriebssystem und allem. In dem Fall ist rsync so Clever, dass es sowohl Client als auch Serverseitig startet (sofern auf beiden vorhanden und richtig aufgerufen) und die nötigen Berechnungen direkt auf den entsprechenden Systemen macht. Das spart enorm Bandbreite im Netzwerk. Deine Beschreibung liest sich aber abschnittsweise, als wäre das "nur" ein RAID-Fähiges USB-Gehäuse mit mehreren Platten drin. Ein Drobo oder sowas. In dem Fall gäbe es nur eine Instanz von rsync, weil es keinen wirklichen "Server" im eigentlichen Sinne gibt. In dem Fall wäre eher das Dateisystem auf welches du sicherst von Interesse.
Tut mir leid, ich hab nicht daran gedacht, dass man auch auf einen anderen Rechner, der als Server dient sichert.
Es handelt sich um ein Gehäuse der Marke fantec, in dem 4 Festplatten stecken, die auf Raid 5 eingestellt sind und mittels USB an meinen Rechner angeschlossen wird. Also nichts eigenständiges, sondern (ich vermute) von der Handhabung her einer externen Festplatte ähnlich.
Das Dateisystem ist ntfs (das geht auch leider nicht anders weil unter Umständen auch ein Windows Rechner Zugriff auf die Sicherungen haben soll)
Was mich verwundert:
Ich habe noch etwas rumprobiert und nun den Verdacht, dass nicht --delete Probleme macht sondern die Unterordner: Ich habe im Ordner
/home/dreizehn/Bilder
die Kopie einer Datei erstellt und diese umbenannt.
Dann habe ich
rsync -av --delete /home /media/dreizehn/RaidServer/
durchgeführt.
Ergebnis: Die Datei befindet sich nun auch am Ziel. Dann habe ich die Datei in der Quelle gelöscht und wieder
rsync -av --delete /home /media/dreizehn/RaidServer/
ausgeführt.
Ergebnis: Die Datei befindet sich (trotz Löschung am Quellort) immer noch beim Ziel. Nun habe ich folgendes versucht:
rsync -av --delete /home/dreizehn/Bilder /media/dreizehn/RaidServer/home/dreizehn/
Ergebnis: Die Datei wurde von rsync auch beim Ziel gelöscht. Tut mir leid - anscheinend ist der Titel dieses Themas nicht korrekt gewählt, leider bemerke ich das erst jetzt durch diesen Versucht. (wobei ich leider keine Idee habe dieses Problem zu bereinigen)
|
frostschutz
Anmeldungsdatum: 18. November 2010
Beiträge: 7658
|
Vielleicht steht mit rsync --verbose --dry-run etwas dabei, was rsync machen will (oder nicht) und vielleicht hat man dann einen Anhaltspunkt woran es liegt. Allgemein sind rsync und vfat/ntfs keine besonders guten Freunde, da gibts Probleme mit Rechten, Dateinamen, Groß-/Kleinschreibung, Timestamps, ... Die erwartete Ausgabe wäre z.B. so sending incremental file list
deleting sound/sparc/dbri.c
deleting sound/sparc/cs4231.c
deleting sound/sparc/amd7930.c
deleting sound/sparc/Makefile
deleting sound/sparc/Kconfig
deleting sound/sparc/
sound/ Wenn rsync deleting schreibt dann sollte es (ohne --dry-run ) auch weg sein. Wenn rsync NICHT deleting schreibt dann stellt sich die interessante Frage wieso und dann kann man --verbose mehr als einmal angeben um noch mehr Ausgaben zu bekommen, diese zu interpretieren wird dann allerdings auch entsprechend schwieriger. Da wäre es gut wenn man das Problem mit einem kleineren Pfad reproduzieren könnte statt dem ganzen Home-Ordner.
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
--verbose ändert leider nichts. Ich habe nun Kopien einer Datei in mehrere Unterordner kopiert, rsync ausgeführt und wieder an der Quelle wieder gelöscht.
Es wird zwar immer alles kopiert, das --delete wirkt aber ab dem 1. Unterordner nicht mehr. Was ich nicht verstehe ist, dass ich früher kein derartiges Problem hatte. Das weiß ich aber auch nur deshalb weil ich mal unachtsam war und an der Quelle vor dem rsync etwas gelöscht hatte, das ich noch gebraucht hätte. Seither habe ich an dem Raid 5 Laufwerk (ich glaub "Laufwerk" trifft besser zu als Server) nichts verändert; dasselbe Dateisystem und dieselben Festplatten. Vor ein paar Monaten habe ich von Kubuntu 14.04 auf Kubuntu 16.04 upgegradet, aber ich kann nicht sagen ob es damit zusammenhängt.
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
Hallo in die Runde! frostschutz schrieb: Vielleicht steht mit rsync --verbose --dry-run etwas dabei, was rsync machen will (oder nicht) und vielleicht hat man dann einen Anhaltspunkt woran es liegt. Allgemein sind rsync und vfat/ntfs keine besonders guten Freunde, da gibts Probleme mit Rechten, Dateinamen, Groß-/Kleinschreibung, Timestamps, ...
Wenn das dann dazu führt, dass Fehler erzeugt werden, wird delete aus Sicherheitsgründen deaktiviert:
If the sending side detects any I/O errors, then the deletion of
any files at the destination will be automatically disabled.
This is to prevent temporary filesystem failures (such as NFS
errors) on the sending side from causing a massive deletion of
files on the destination. You can override this with the --ignore-errors option.
(Quelle: man rsync ) Deutsche Übersetzung davon: Wenn der Sender einen Eingabe-/Ausgabefehler feststellt wird das Löschen von Dateien im Ziel automatisch deaktiviert. Dies soll verhindern, dass temporäre Dateisystemprobleme (wie bei NFS-Fehlern) des Senders einen massiven Verlust von Daten beim Empfänger auslöst. Sie können dies mit der Option --ignore-errors überschreiben. Du könntest zu Diagnosezwecken auf Testdaten mal dieses --ignore-errors ausprobieren, um zu schauen ob sich dann etwas ändert. Im dauerhaften Betrieb wäre mir das allerdings zu riskant. Viele Grüße Vej
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Und du musst schon jeweils dieselbe Ebene angeben:
a/b/1.txt → /sicherung mit a/b/1.txt - delete klappt, b/1.txt → /sicherung mit vorhandenem a/b/1.txt - delete klappt nicht
Also die erste Ebene a sowie /sicherung/a muss exakt gleich sein. Dabei ist zu beachten, dass als Quelle dann zwingend a angegeben werden muss und nicht a/ angegeben werden darf, weil sich sonst wegen "/" die Unterordner a/b usw. und /sicherung/a (ohne .../b) gegenüberstehen. Unterordner im Ziel mit komplett anderen Namen als a/b/1.txt, wie x/b/1.txt oder y/1.txt, werden sowieso ignoriert, das sollte (auch) klar sein.
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Vej
Du könntest zu Diagnosezwecken auf Testdaten mal dieses --ignore-errors ausprobieren, um zu schauen ob sich dann etwas ändert. Im dauerhaften Betrieb wäre mir das allerdings zu riskant. Viele Grüße Vej
Ich hab jetzt (um das Ganze etwas zu beschleunigen) rsync in einem Unterordner ausgeführt und nicht in Bezug auf /home selbst:
rsync -av --verbose --dry-run --ignore-errors --log-file=rsync.log /home/dreizehn/Bilder /media/dreizehn/RaidServer/home/dreizehn/
Vor dem Durchführen hab ich noch in einem weiteren Unterordner einen (doppelt vorhandenen) Ordner gelöscht.
Das Wort delete kommt im logfile gar nicht vor. Neben dem Pfad des eigentlich zu löschenden Ordners steht is to update. Könnt ihr mir bitte sagen ob rsync damit auch löschen meinen kann? Benno-007 schrieb: Und du musst schon jeweils dieselbe Ebene angeben:
a/b/1.txt → /sicherung mit a/b/1.txt - delete klappt, b/1.txt → /sicherung mit vorhandenem a/b/1.txt - delete klappt nicht
Also die erste Ebene a sowie /sicherung/a muss exakt gleich sein. Dabei ist zu beachten, dass als Quelle dann zwingend a angegeben werden muss und nicht a/ angegeben werden darf, weil sich sonst wegen "/" die Unterordner a/b usw. und /sicherung/a (ohne .../b) gegenüberstehen. Unterordner im Ziel mit komplett anderen Namen als a/b/1.txt, wie x/b/1.txt oder y/1.txt, werden sowieso ignoriert, das sollte (auch) klar sein.> Benno-007
Ich bin leider nicht sicher ob ich das richtig verstanden habe:
Wenn die oberste Ebene exakt gleich sein muss, dann heißt das, dass ich bei einer Sicherung von /home im Zielordner (in meinem Fall /media/dreizehn/RaidServer/) auch /home schreiben sollte? Bisher hatte ich ja immer "/home" auf das Ziel mit dem "/" am Ende gestellt damit der gesamte Ordner ein Unterordner wird. Meintest du, dass das falsch ist?
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Im Zielordner ist der abschließende "/" bedeutungslos. In der Quelle bedeutet das bei deinem /home, dass /home und nicht nur dessen Inhalt gesichert wird. Wenn du was syncen/ deleten lassen willst, muss in Quelle und Ziel die testdatei.txt sichtbar sein. Wenn du /home syncst und darin ist also a.txt, muss diese auch im /ziel enthalten sein. Hier kann bereits entscheidend sein, ob du als Quelle /home oder /home/ angibst, um das Ganze durcheinander zu bringen. Genaueres lässt sich nur mit deinen Testdateien, Ordnerinhalt und rsync aussagen. Vergleiche mal manuell die Inhalte mit ls und achte auf den abschließenden "/" bei rsync. Dass du /home mit einem Bilderordner syncst, macht es suspekt, da direkt in /home nur Nutzernamen sein sollten und Bilder schon gleich gar nicht. Ok, das letze hab ich mangels genauerer Daten sowie am Handy wohl falsch interpretiert gehabt - nach nochmaliger Durchsicht unter allen Gesichtspunkten könnte das hinkommen - das weißt aber nur du.
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Benno-007 schrieb
Dass du /home mit einem Bilderordner syncst, macht es suspekt, da direkt in /home nur Nutzernamen sein sollten und Bilder schon gleich gar nicht. Ok, das letze hab ich mangels genauerer Daten sowie am Handy wohl falsch interpretiert gehabt - nach nochmaliger Durchsicht unter allen Gesichtspunkten könnte das hinkommen - das weißt aber nur du.
Unter /home/username/ hab ich standardmäßig die Ordner Bilder, Dokumente, Downloads, Musik, ... Die sind seit der Installation von Kubuntu da. Und im standardmäßig angelegten Ordner Bilder hab ich auch in mehreren Unterordnern jeweils Fotos und Bilder.
Benutzt ihr /home nur für Einstellungen und legt Dokumente, Bilder etc. woanders ab? (ich mein die Frage jetzt tatsächlich ernst) Im Prinzip versuche ich ja nur eine 1:1 Kopie meines /home (inkl. sämtlichem Inhalt) auf dem Laufwerk /media/dreizehn/RaidServer zu erstellen und mithilfe von rsync alle Änderungen (wie verschieben/löschen/neuerstellen von Dateien mitzuübernehmen). Die rsync-Befehle, bei denen ich dann mit Unterordnern herumexperimentiert habe waren nur dazu gedacht herauszufinden ob der delete-Befehl generell nicht will oder es Probleme mit den Unterordnern gibt. Vielleicht ist das dann so rübergekommen als wollte ich /home mit einem Bilderordner syncen.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Ohne ls und rsync wird das ewig ein Rätsel bleiben, welche Vermutungen von allen nun zutreffen.
|
Dreizehn
(Themenstarter)
Anmeldungsdatum: 5. September 2009
Beiträge: 393
|
Ich verstehe leider nicht ganz wie genau ich die ls-Abfrage formulieren soll.
Es klingt für mich wie ls /home
Aber nachdem das nicht aussagekräftig ist geh ich davon aus, dass ich es falsch verstehe.
dreizehn@dreizehn-kubuntu:~$ ls /home
dreizehn lost+found
dreizehn@dreizehn-kubuntu:~$
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Na wenn, dann musst du schon rsync, ls auf Quelle und ls auf Ziel zusammen zeigen. Wenn du andere Probleme vermutest, kannst du dir das sparen und weiter dem Problem mit dem Dateisystem NTFS nachgehen.
|