запустити rsync як root, але зберегти право власності на користувача


36

Я хотів би створити резервну копію файлів користувачів з одного сервера на інший за допомогою rsync. але я помітив, що папки користувача змінюються на root. як я можу зберегти дозволи користувача за допомогою rsync (працює під коренем)?


rsync потрібно запускати як root, коли ви робите копію диска, а також коли ви копіюєте файл назад на диск. Якщо ви виконайте будь-який з кроків як користувач нижчого дозволу, кореневі файли будуть перенесені на цього користувача.
Ерік Лещинський

Відповіді:


46

Використовуйте -aпрапор, який включає, серед іншого, параметри -oта -g, який зберігає власників та групи. Для цього потрібно запустити rsyncяк root.

Також див man rsync.


1
Чи можливо це також без кореня? Чи є можливість зберігати відображення у окремому файлі коляски?
thomas.mc.робота

1
Пропустили цей коментар. Ні, це не працює, не будучи rootтим, що вам заборонено змінювати власника ні на кого іншого, а не на власного користувача. Файл зі відображенням у цьому зовсім не допоможе.
Свен

15

Зберігаючи дозволу досягається з допомогою режиму «архіву», -a. Поширений приклад -avz:

rsync -avz foo:src/bar/ /data/bar

Це забезпечує збереження в передачі символічних посилань, пристроїв, атрибутів, дозволів, прав власності тощо. Крім того, стиснення буде використовуватися для зменшення розміру частин даних передачі.


5

Якщо ви використовуєте rsync для резервного копіювання, я дійсно рекомендую замість цього використовувати rsnapshot (він використовує rsync). Він обертає резервні копії та використовує жорсткі посилання, щоб ви могли бачити відмінності між вашими щоденними резервними копіями (але папки все одно виглядають так, що вони мають повний вміст). Я використовую це для резервного копіювання на роботі як серверів Windows, так і Linux. Ідеально для нас!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.