У меня есть один локальный сервер, давайте назовем его A, который имеет доступ к удаленному серверу.

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

Проблема в том, что удаленный каталог имеет ограниченные разрешения, поэтому я должен запустить команду rsync в режиме sudo на удаленном сервере, но с сервера A.

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

1 ответ1

0

Более простая стратегия - войти на удаленный сервер и запустить команду rsync с правами sudo.

Я предполагаю, что вы работаете под Linux на обеих машинах.
Давайте назовем localuser именем пользователя на локальном сервере, а remoteuser именем пользователя на удаленном сервере.

  • На локальном сервере смонтирован внешний блок по пути /media/MyUsb
  • На удаленном сервере есть каталог /data/DirToSync .
localuser@localserver ~> ssh -X remoteuser@remoteserver

Он должен спросить вас пароль для удаленного пользователя на удаленном сервере и после этого покажет приглашение на удаленном сервере:

remoteuser@remoteserver -> 

Здесь вы можете написать команду rsync :

sudo rsync  -av /data/DirToSync localuser@localserver:/media/MyUsb

Он будет запрашивать пароль sudo на удаленной машине (пароль remoteuser @ remoteserver) и пароль получателя (localuser @ localserver).

Заметки

  1. Вы должны быть в списке sudoers удаленного компьютера (это означает, что вы должны иметь право на запуск sudo). Попробуйте выполнить sudo ls на удаленном сервере и введите пароль при запросе. Если он выполнит команду ls вы в этом списке. (Это должен быть очень редкий и небезопасный случай, если вы были в этом списке и не нуждались в пароле; в этом случае вам не нужно писать пароль для sudo).
  2. Вам не будут предложены пароли для соединений ssh/rsync если вы сгенерировали и установили ssh-ключи.
  3. через ssh вы даже можете отправить команду sudo в rsync оттуда на localhost, но это немного более сложный синтаксис, см. здесь, например, и вы можете столкнуться с какой-то проблемой из-за sudo в некоторой версии linux.

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