Sie verwenden -numeric-ids
nicht und/oder -fake-super
für Ihre Backups (und Wiederherstellungen). Wenn Sie Ihre rsync
ändern Befehl ein wenig, dann werden die Zuordnungen korrekt gespeichert und wiederhergestellt.
In diesen Beispielen ist die -M
sagt rsync
um die nächste Option, d. h. die Fälschung, auf der entfernten Seite der Verbindung anzuwenden. Ein zusätzlicher Nebeneffekt ist, dass Sie die Remote-Seite (wo die Backups gespeichert sind) nicht als root ausführen müssen
Dadurch werden die Backups vom Client auf den Backup-Server übertragen
sudo rsync -azh -e 'ssh -pNNNN' --stats --delete --numeric-ids -M--fake-super --exclude-from="${exc_path}" "${src_path}" "${dst_addr}:${dst_path}"
Dies würde Backups vom Client abrufen (d. h. wiederherstellen)
sudo rsync -azh -e 'ssh -pNNNN' --stats --delete --numeric-ids -M--fake-super --exclude-from="${exc_path}" "${dst_addr}:${dst_path}" "${src_path}"
Und dies, ausgeführt auf dem Backup-Server, würde die Backups auf den Client übertragen (d. h. wiederherstellen)
sudo rsync -azh -e 'ssh -pNNNN' --stats --delete --numeric-ids --fake-super "${dst_path}" "${src_host}:${src_path}"
Jede Datei speichert ihre Besitzerinformationen einzeln, es gibt keine Datenstruktur, um Dateien basierend auf ihren Besitzern zu indizieren. Was auch immer Sie also tun, Sie müssen nach den Dateien suchen und die UIDs auf jeder einzeln ändern. Glücklicherweise ist das nicht sehr schwer; das sollte reichen:
find "$dir" -user olduser -exec chown newuser {} +
Natürlich wäre es besser, das Sicherungssystem so zu ändern, dass die richtigen UIDs gespeichert (und wiederhergestellt) werden, insbesondere wenn Sie möglicherweise Dateien gesichert haben, die mehreren Benutzern gehören.