1

У меня есть команда rsync для резервного копирования каталога с удаленного сервера на локальный NAS в моей локальной сети, смонтированный на моем сервере. Я использую con, чтобы вызвать команду

rsync --rsh='ssh -pxxx' -rultxz xxx.xxx.xxx.xxx:/path/to/directory/ /media/mountpoint/directory/

Проблема в том, что каталоги не получают пропертуру, а это все равно. Вот что происходит: точка монтирования имеет разрешение 777

Первая созданная папка получает 744

Сбой RSync, так как он не может добавить больше файлов и каталогов с

mkdir: Permission denied (13)

Папки создаются локально с идентификатором пользователя, который не существует в системе (1028), и группой, которая также не существует. Я предполагаю, что они из удаленного места.

Вопрос заключается в следующем: как мне управлять созданными разрешениями для папок / файлов на принимающей стороне, чтобы я мог сопоставить их с локальным пользователем и установить разрешения?

Я пытался использовать флаг -p, и

--chmod=u+rwx,g+rwx,o+r 

но это не имело никакого значения вообще.

1 ответ1

1

Проблема оказалась в самом креплении. Пользователь, который вызвал RSync через cron, не был владельцем точки монтирования и, следовательно, не мог изменить разрешения / владельца каталогов. Это создало ситуацию, когда пользователь создал папки, которые он не мог прочитать.

Решением было добавить --super к команде и включить пользователя в группу sudo (и перезапустить)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .