rsync over SSH
Перевод: RSync over SSH
rsync over SSH
Я тут недавно мигрировал старые заметки по rsync на основном сайте Unix Tutorial, и вспомнил: вот про копирование rsync с помощью ssh я так ещё и не рассказывал.
Изначально rsync был создан для синхронизации локальных каталогов, потом его расширили для работы с внешними устройствами и файловыми системами, потом добавили поддержку сетевых устройств и в конце концов реализовали собственный протокол синхронизации с удалёнными серверами (который так и назывался: rsync protocol).
Зачем Нужна Синхронизация rsync Через SSH
Подавляющее большинство современных Linux систем поддерживают протокол удалённого доступа SSH. И все более-менее современные реализации поддерживают rsync через SSH, ведь это даёт вам лучшее из двух миров: можно сихнронизировать удалённые сервера И ПРИ ЭТОМ передача данных будет надёжно защищена стандартными методами SSH.
В дополнение ко всему этому, использование транспорта SSH для rsync даёт ещё два преимущества по сравнению с протоколом rsync:
- На удалённом сервере не нужно запускать никаких демонов rsyncd
- Как следствие из предыдущего пункта, открывать дополнительный порт на файрволах тоже не придётся (речь о порте 873/tcp дя rsyncd) - потому что можно обойтись стандартным портом SSH port 22.
Как Работать с rsync через SSH
В большинстве случаев, никаких дополнительных движений и опций не нужно - rsync сам всё сообразит. Но если уж очень важно, то стоит указать ssh транспорт с помощью опции -e:
В этой командной строке:
newscripts
имя локльного каталога, который я хочу скопировать
becky
это удалённый сервер - одна из моих систем на базе Raspberry Pi
/home/greys/scripts
это название удалённого каталога на сервере becky
Поведение rsync в данной ситуации будет такого: полная копия содержимого локального каталога newscripts окажется в каталоге /home/greys/scripts на удалённой системе becky.
Ну, давайте запустим:
Основная Польза от RSync
Естетсвенно, основная польза - это синхронизация двух указанных катлогов с файлами. Если я изменю какие-то файлы у меня в местном каталоге newscripts, мне не придётся копировать заново всю папку на удалённый сервер - rsync сверит файлы по имени, размеру и содержимому - и скопирует только то, что действительно нужно обновить на удалённой системе.
Мой каталог newscripts содержит следующие файлы:
Давайте теперь поменяем пару файлов:
И перезапустим rsync
. Как видно, теперь команда спорировала не всё, а только новые файлы:
Надеюсь, это когда-нибудь вам пригодится! До скорого!
Ссылки
rsync over SSH
Я тут недавно мигрировал старые заметки по rsync на основном сайте Unix Tutorial, и вспомнил: вот про копирование rsync с помощью ssh я так ещё и не рассказывал.
Изначально rsync был создан для синхронизации локальных каталогов, потом его расширили для работы с внешними устройствами и файловыми системами, потом добавили поддержку сетевых устройств и в конце концов реализовали собственный протокол синхронизации с удалёнными серверами (который так и назывался: rsync protocol).
Зачем Нужна Синхронизация rsync Через SSH
Подавляющее большинство современных Linux систем поддерживают протокол удалённого доступа SSH. И все более-менее современные реализации поддерживают rsync через SSH, ведь это даёт вам лучшее из двух миров: можно сихнронизировать удалённые сервера И ПРИ ЭТОМ передача данных будет надёжно защищена стандартными методами SSH.
В дополнение ко всему этому, использование транспорта SSH для rsync даёт ещё два преимущества по сравнению с протоколом rsync:
- На удалённом сервере не нужно запускать никаких демонов rsyncd
- Как следствие из предыдущего пункта, открывать дополнительный порт на файрволах тоже не придётся (речь о порте 873/tcp дя rsyncd) - потому что можно обойтись стандартным портом SSH port 22.
Как Работать с rsync через SSH
В большинстве случаев, никаких дополнительных движений и опций не нужно - rsync сам всё сообразит. Но если уж очень важно, то стоит указать ssh транспорт с помощью опции -e:
В этой командной строке:
newscripts
имя локльного каталога, который я хочу скопироватьbecky
это удалённый сервер - одна из моих систем на базе Raspberry Pi/home/greys/scripts
это название удалённого каталога на сервере becky
Поведение rsync в данной ситуации будет такого: полная копия содержимого локального каталога newscripts окажется в каталоге /home/greys/scripts на удалённой системе becky.
Ну, давайте запустим:
Основная Польза от RSync
Естетсвенно, основная польза - это синхронизация двух указанных катлогов с файлами. Если я изменю какие-то файлы у меня в местном каталоге newscripts, мне не придётся копировать заново всю папку на удалённый сервер - rsync сверит файлы по имени, размеру и содержимому - и скопирует только то, что действительно нужно обновить на удалённой системе.
Мой каталог newscripts содержит следующие файлы:
Давайте теперь поменяем пару файлов:
И перезапустим rsync
. Как видно, теперь команда спорировала не всё, а только новые файлы:
Надеюсь, это когда-нибудь вам пригодится! До скорого!