Kummer mit rsync restore

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin.

    Full-Backup des Raid5-NAS mit rsnapshot funktioniert.

    Jetzt soll auf einem anderen Raid5-NAS der gesamte Datenbestand geladen werden.

    Dazu bei der Backup-Platte in ..../daily.0 gegangen und auf dem Zielsystem als root eingegeben:

    rsync -avpEXgt * /mnt

    Eigentlich eine ganz einfache Sache, nur gibt es ein kleines Problem - weder User, Group noch Permissions werden sauber übernommen -manchmal ja, manchmal nein. Kurzer Ausschnitt eines Beispielverzeichnisses:

    Habe die manpage gefühlte 100mal durchgesehen, ich finde keine Option, mit der ich das ändern kann. Am meisten wundert mich, dass es z.B. bei den ersten beiden Verzeichnissen klappt, bei den nächsten wieder nicht.

    Was mache ich falsch? Hat jemand eine Idee?

    Gruß, Hajo.

  • Zielpartition ist ext4. Das mit der Option werde ich versuchen.

    Beide Systeme sind Raspi4 mit 4GB. Hintergrund ist der Wechsel auf andere Platten wegen der Plattenfehler (s. anderen Eintrag) ohne Betriebsunterbrechung (sonst gibts Probleme mit meiner Frau ;) ).

    BTW: das "alte" System meldet jetzt keine Fehler mehr. Nimmt das System defekte Blocks automatisch außer Betrieb?

    Gruß, Hajo.

    Nachtrag: XADDRs nutze ich nicht, laut Doku (eben nachgesehen, was das überhaupt ist) habe ich solche speziellen Anforderungen nicht.

  • Ich habs jetzt mal mit "cp -rvpn * /mnt" probiert. Ergebnis gleich falsch. Zusätzlich wird im Ziel-Verzeichnis (habe noch nicht mit anderen Verzeichnissen laufen lassen, abgebrochen) ein Symlink auf sich selbst angelegt, der einen weiteren Link auf sich selbst beinhaltet. Im Backup kommt sowas nicht vor. :wallbash:

  • Es wird immer besser. Ich habe das Quell-System in /etc/fstab reingenommen:

    192.168.178.61:/mnt /raspi-nas nfs defaults 0 0

    und dann direkt (also nicht vom Backup) kopiert mit:

    cp -rvn --preserve=all /raspi-nas/* /mnt

    Ergebnis:

    Code
    Quelle:
    drwxrwxrwx  8 pi   pi    4096 11. Mai 07:08 backup
    drwxrwxrwx 24 pi   pi    4096 21. Mai 09:19 common
    
    Ziel:
    drwxrwxrwx  8 pi   pi   4096 11. Mai 07:08 backup
    drwx------  2 root root 4096 23. Mai 09:25 common

    Jetzt hört mein Verständnis auf....

  • Jetzt soll auf einem anderen Raid5-NAS der gesamte Datenbestand geladen werden.

    Dazu bei der Backup-Platte in ..../daily.0 gegangen und auf dem Zielsystem als root eingegeben:

    rsync -avpEXgt * /mnt

    Hallo mir kommt das etwas komisch vor.

    War ist das Ziel unter /mnt ? Hier fehlt doch etwas. und ist es ein Softwareraid? Das wär dann mit md* anzusprechen.

  • Habe die manpage gefühlte 100mal durchgesehen, ich finde keine Option, mit der ich das ändern kann.

    Die Manpage von mdadm, ext4, mount, chmod(777), rsync oder rsnapshot ?

    Die Manpage von rsync dürfte es eher nicht gewesen sein, sonst käme es nicht zu den rsync Optionen "rsync -avpEXgt".


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Schon merkwuerdig. Kannst Du mal nicht auf ein anderes Device sondern in ein anderes Verzeichnis auf demselben Device restoren und checken? Dann wissen wir ob es am mount liegt oder nicht.

    Gerade gemacht. Restore mit rsync und cp in lokales Verzeichnis auf derselben Platte begonnen. Ergebnis bleibt gleich falsch.

  • Es war die manpage von rsync und die Optionen habe ich mir nicht ausgedacht,

    Die Archive Option -a hast Du aber wenig beachtet. Mit -a hast Du bereits -rlptgoD gewählt, sodass der gesamte Optionenstring "rsync -rlptgoDvpEXgt" abgearbeitet wird.

    Im Quell- oder Zielverzeichnis könnten auch versteckte Dateien während der Übertragung angelegt werden. Diese sind nur mit der ls Option "all", oder "almost all" sichtbar.

    Und Logdateien gäbe es zur Fehlersuche auch.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Die Archive Option -a hast Du aber wenig beachtet. Mit -a hast Du bereits -rlptgoD gewählt, sodass der gesamte Optionenstring "rsync -rlptgoDvpEXgt" abgearbeitet wird.

    Im Quell- oder Zielverzeichnis könnten auch versteckte Dateien während der Übertragung angelegt werden. Diese sind nur mit der ls Option "all", oder "almost all" sichtbar.

    Und Logdateien gäbe es zur Fehlersuche auch.


    Servus !

    Mag ja sein dass ich nach -a auch nicht notwendige Optionen zusätzlich gewählt habe. Das ändert aber nichts an der Tatsache, dass Verzeichnisse mit falschen Berechtigungen angelegt werden und zwar offenbar zufällig. Der Versuch mit nur "-a" liefert dasselbe Ergebnis. Wenn die Verzeichnisse im Original und im Backup dem User pi gehören und die Berechtigungen drwxrwxrwx haben und beim restore mit rsync oder cp plötzlich nur noch zufällig drwx------ haben, dann ist das eindeutig ein Fehler. Und wenn einzelne Verzeichnisse, die exakt die vollen und gleichen Berechtigungen und Owner haben, mal mit den richtigen und mal mit den falschen Berechtigungen angelegt werden, dann ist das ebenfalls eindeutig ein Fehler. ls -al kenne ich und in den im Beispiel genannten Dateien gibt es keine versteckten Verzeichnisse - selbst wenn es welche gäbe, dürfte das obige Problem nicht auftreten. Im Ziel- und Quellsystem ist alles von root gesichert bzw. zurückgeladen worden.

    Für mich stellt sich die Frage, inwieweit mir ein solcher mit rsnapshot bzw. rsync erstellter Backup überhaupt nützt. Ok, die Files hätte ich dann zwar, aber keine Userzuordnung mehr und keine zufälligen Berechtigungen. Und Logdateien bei einem cp wären mir neu.

    Ich hatte gehofft, dass ich einen ganz banalen Fehler gemacht habe, den mir das Forum aufzeigen könnte, aber offenbar steckt der Wurm dann doch tiefer. Schade.

    Ich bin aber weiterhin für jeden Hinweis dankbar und werde auch alles testen. Danke, dass ihr euch Gedanken dazu macht.

  • Problem gelöst!! Was ich nicht wusste und auch in keiner Doku gefunden habe, ist Folgendes:

    Der rsync legt beim Reload erstmal alle Verzeichnisse einer Ebene auf drw------ Owner root. Geht ins erste Verzeichnis, legt die Unterverzeichnisse an, wieder root und füllt dann das Verzeichnis usw. usw. Ist ein (Unter-) Verzeichnis fertig, werden Berechtigungen und Owner/Group richtig gesetzt und es geht weiter zum nächsten Verzeichnis oder eine Ebene rauf oder runter. Im Endeffekt (wenn man es abwartet) ist wieder alles richtig.

    Danke an alle, die sich für mich Gedanken gemacht haben.

    Gruß, Hajo.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!