Peter18 hat geschrieben: 26.12.2019 16:51:22
Ich möchte eine Datensicherung von einem Server zu einem Backup-Server
automatisch durchführen. Als User werden aber die Eigentümer geändert (soweit ich es bisher herausgefunden habe). Daher die Idee, den Backup-Job als "root" zu starten (Crontab) und auf dem Backupserver als "root" zu sichern. Dann, so die Beschreibung, bleibt der Eigentümer erhalten. Der Parameter "--super" hat es jedenfalls nicht gebracht (oder habe ich da was falsch verstanden?).
Bezogen auf die letzte Frage... ich vermute mal ja.... ich versuche deshalb mal etwas Licht ins Dunkel zu bringen.... unter dem Blickwinkel, dass es einen datenvorhaltenden Rechner gibt, und einen Rechner für die die Übernahme eines Backups.
In einem einfach gehaltenen Backupprozess sichert der datenvorhaltende Rechner die Daten selber, das heisst die Intention zum Sicheren der Daten auf ein anderes Speichermedium geht von diesem Rechner aus. Der das Backup aufnehmende Rechner fungiert aus dieser Perspektive quasi als Server... ein Server, der Speicherplatz für das Backup zur Verfügung stellt. Auf dem Rechner, der Herr dieser Daten ist, sollte der Backup-Job mit root-Rechten laufen, damit nicht aufgrund einer Rechte-Beschränkung (mangelnde Leserechte) bestimmte Daten nicht gesichert werden. Der Rechner ermittelt die zu sichernden Daten und überträgt sie einfach übers Netz. Das kann als Tar-Archiv passieren oder auch Dateiweise. Im Tar-Archiv bleiben die Dateirechte enthalten, Dateiweise eben nicht, weil meistens die UID auf beiden Systemen nicht synchron sind. Ich persönlich mache das auf diese Weise und habe zur Unterstützung dieser Vorgehensweise vorher die Daten organisatorisch und disziplinarisch getrennt. Muss ich die Daten zurücksichern, reicht ein einfacher chown tom:tom aus, um unselektiert meine Daten wieder mir zuzuschreiben.... das gleiche bei allen anderen Usern.... das ist also in ein paar Sekunden erledigt. Abweichende UIDs auf den rsync-File-Backups sind deshalb vor dem Hintergrund für mich irrelevant.
BTW, warum muss das überhaupt ein eigener Backup-Server sein, wenn sich der doch sowieso im gleichen Haus/Wohnung befindet? Es würde auch gehen, einfach eine externe Platte an den Datenserver anzuschließen und diese nicht für die Anwender zugänglich zu mounten, sondern nur nachts, um eben das Backup auf diese Platte durchzuführen.... damit wäre sofort auch das Problem mit den UIDs/GIDs gelöst. Bei mir werden auf eine solche Zweit-Platte jede Nacht via rsync alle Datenbereiche gespiegelt. Anwender oder andere Client-PCs sehen diese Zweitplatte nicht oder können diese öffnen.
Eine andere Vorgehensweise wäre, wenn der Backup-Rechner die Daten abholt. Ich halte das jedoch für keine gute Idee, aber man kann das wohl auch machen. Insbesondere soll rsync das auch unterstützen, dass die Initiative vom Backup-Rechner ausgeht... weiss es aber nicht genau. Ich sehe da jedoch genau das Problem, was Du jetzt hast, der Backup-Rechner muss sich mit root-Rechten aus gleichem Grund wie oben auf dem datenvorhaltenden anderen Rechner authenfizieren, damit er beim Abholen auch wirklich alle Rechte für alle Dateien hat. Das wird gehen, ich kann aber da nix zu einer Lösung beitragen.
Ich würde also eher versuchen, dass der Quell-Rechner für den Prozess verantwortlich ist, der Backup-Rechner erlaubt nur das Speichern von Daten über das Netz.... dazu sind dann dort aber keine root-Rechte notwendig.