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

rsync с одного пульта на другой

У меня 3 сервера. Назовите их A, B и C. B и C являются удаленными и имеют только A на своих хостах. Разрешить.

Что мне нужно сделать, это войти в A, а затем rsync через SSH для файлов от B до C. Я хочу использовать rsync, потому что многие файлы одинаково присутствуют как на B, так и на C.

Я мог бы попытаться выполнить rsync из B -> A, а затем из A -> C, за исключением того, что у меня почти недостаточно места на диске A, поэтому мне пришлось бы найти какой-то способ «разбить» файлы, а я не вижу очевидный способ их группировки, и даже если бы я это сделал, мне пришлось бы слишком много над ним нянчиться с удалением файлов с диска A, перезапуском процесса со следующего фрагмента и т. д.

Могу ли я как-нибудь использовать rsync между двумя серверами? Не думаю, что мне удастся заставить кого-нибудь сменить хосты. Разрешите за меня :(

Вы должны иметь возможность настроить SSH-туннель из A-> B и из A-C, а затем rsync непосредственно из B-> C, пройдя через этот туннель.

Это будет немного сложно, но в основном вы делаете следующее:

  1. Настройте демон rsync на высоком порту (скажем, 20000) на B
  2. Настройте LocalForward A: 20000 - B: 20000 с помощью ssh
  3. Настройте RemoteForward с C: 20000 на A: 20000 с помощью ssh
  4. На C: rsync -av / path rsync: // localhost: 20000 / path

Имейте в виду, что весь этот трафик будет входить и выходить из сети на A и будет зашифрован, поэтому, вероятно, он будет довольно медленным. Возможно, стоит посмотреть, действительно ли B защищен брандмауэром от C, вы можете запустить сервер rsync на высоком порту и подключиться напрямую.