rsync: архивирование по ssh

rsync: архивирование по ssh

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

Проблема в том, что как только файлы создаются на удаленной машине с разрешениями, пользователями и группами с локальной машины, удаленная учетная запись больше не имеет разрешений, необходимых для изменения удаленных файлов при необходимости. Есть ли способ предоставить определенному пользователю разрешения на запись в резервную директорию на удаленной машине, не трогая фактически разрешения файлов внутри этой директории?

решение1

Что вы можете сделать, так это создать группу на удаленной машине, которая соответствует группе файлов. Но это даст вам доступ только к тем файлам, которые изменяются группой.

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

Третий вариант — быстро выполнить chown -R ${USER} /directory и вернуть все обратно; однако я не уверен, выявит ли rsync разницу, что может заставить его посчитать, что файлы разные. Вам следует поэкспериментировать с этим.

Но вообще-то резервная копия не предназначена для изменения :)

Связанный контент