Назад | Перейти на главную страницу

Как сказать rsync не касаться разрешений целевого каталога?

Я использую rsync для синхронизации каталога с одного компьютера на другой, но я столкнулся со следующей проблемой: изменены разрешения целевого каталога.

rsync -ahv defaults/ root@hostname:~/

Проблема в том, что в этом случае разрешения и владение defaults forlder будет назначен папке назначения.

Я хочу сохранить разрешения для файлов и подкаталогов, но не для самого исходного каталога.

Кроме того, я не хочу удалять какие-либо существующие файлы из места назначения (но обновлять их при необходимости), но я думаю, что текущие настройки уже в порядке в этом отношении.

Как я могу это сделать?

Если вы хотите исключить defaults каталог из-за изменения его разрешений, вам придется буквально не включите его в команду (поскольку вы, очевидно, хотите сохранить разрешения для всего, что вы копируете). Таким образом, вы можете сделать это:

rsync -ahv defaults/* root@hostname:~/

Или, если у вас есть файлы или каталоги, начинающиеся с точки внутри defaults, и если вы используете bash:

shopt -s dotglob
rsync -ahv defaults/* root@hostname:~/