Festlegen von Berechtigungen beim Ausführen von rsync


13

Gegenwärtig sichere ich Gigabyte und Gigabyte an Daten von einem Live-Server auf einem Backup-Server mit einem RSYNC / SSH-Kombinationsskript, das jeden Abend einen automatisierten Betrieb mit einem Cron-Job ermöglicht.

Das Problem, das ich habe, ist mit Berechtigungen.

Das Ausführen von rsync mit dem Modus -a kopiert über den Benutzer: group und filemode, derzeit 54122: games und -rwx - S ---.

Um die Dateien auf dem Backup-Server ausführen zu können (fragen Sie mich nicht, warum der Arbeitgeber dies verlangt), musste ich eine zeit- und kostenintensive (wegen der schieren Menge übertragener Daten) Überprüfung durchführen () und chmod () setzen jede Datei / jeden Ordner auf www-data: www-data und Berechtigungen von 755.

Gibt es irgendwie ich kann rsync gründen, um jede Akte / Faltblatt auf WWW-Daten zwangsweise einzustellen: WWW-Daten und 755 oder betrachte ich dieses Problem vom falschen Winkel?

Ich denke, ich könnte -rltD anstelle von -a (was -rlptgoD entspricht) ausführen, aber was passiert dann mit neuen Dateien? Welche Berechtigungen und Eigentümer: Gruppeneinstellungen erhalten sie?

Antworten:


21

Neben vielen anderen Optionen kann rsync die Berechtigung ändern, indem es mit der folgenden Option ausgeführt wird:

rsync [options] --chmod=CHMOD source destination

Hier können Sie auch die Option --archivemit der Option kombinieren --no-owneroder --no-permsdie Bewahrung des Eigentümers bzw. der Rechte ausschließen. Berechtigungen. Weitere Optionen zu sehr subtilen Einstellungen für CHMOD finden Sie in der Manpage für rsync .


Beachten Sie, dass das --permsFlag erforderlich ist, um den obigen Befehl zum Funktionieren zu bringen. Auch, obwohl ich es nicht versucht habe, gehe ich davon aus, dass das --no-permsFlag nicht funktioniert, es wird höchstwahrscheinlich das --chmodFlag deaktivieren .
Laurent

6
Beispiel:rsync --chmod=ugo=rX source/ destination/
Flimm

1

Wenn die Berechtigungen auf dem Computer, von dem Sie kopieren, bereits so eingerichtet sind, können Sie -p versuchen. Es speichert die Berechtigungen. Vielleicht möchten Sie auch grsync ausprobieren. Es ist eine GUI für Rsync, die einige der Optionen deutlicher macht. Auch -o erhält den Besitzer.

Ich hoffe, das hilft. Viel Glück.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.