|
|
|
@ -0,0 +1,36 @@
|
|
|
|
|
# Rsync
|
|
|
|
|
|
|
|
|
|
`rsync -rvz --progress --remove-sent-files ./dir user@host:/path`
|
|
|
|
|
|
|
|
|
|
В Debian и Ubuntu:
|
|
|
|
|
|
|
|
|
|
sudo apt-get install rsync
|
|
|
|
|
|
|
|
|
|
Чтобы скопировать содержимое /source/ в /destination/ внутри одного сервера, выполните:
|
|
|
|
|
|
|
|
|
|
rsync --archive --verbose --progress /source/ /destination/
|
|
|
|
|
|
|
|
|
|
Если директория /destination/ не создана, она будет создана. Если /destination/ уже существует и в ней есть файлы, которых нет в /source/, файлы останутся нетронутыми.
|
|
|
|
|
|
|
|
|
|
Rsync использует специальный алгоритм для минимизации трафика, копируя только изменившиеся части файлов.
|
|
|
|
|
|
|
|
|
|
Копируем файлы с удаленного сервера
|
|
|
|
|
rsync позволяет копировать файлы с удаленного сервера используя SSH. Прежде чем начать копирование, убедитесь, что:
|
|
|
|
|
|
|
|
|
|
rsync установлен на локальном и удаленном серверах;
|
|
|
|
|
вы можете установить SSH-соединение с удаленным сервером, используя команду "ssh user@remotehost".
|
|
|
|
|
Для передачи файлов с удаленного сервера, укажите в качестве источника полный пусть к директории на удаленном сервере, включая имя пользователя и хост. Также укажите полный путь к локальной директории в качестве цели:
|
|
|
|
|
|
|
|
|
|
rsync --archive --verbose --progress user@remotehost:/remote/source/ /local/destination/
|
|
|
|
|
|
|
|
|
|
если порт удаленного сревера отличается от 22, то можно:
|
|
|
|
|
- rsync -rvz -e 'ssh -p 2222' --progress ./dir user@host:/path
|
|
|
|
|
- прописать в ~/.ssh/config
|
|
|
|
|
Host host
|
|
|
|
|
Port 2222
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Копируем файлы на удаленный сервер
|
|
|
|
|
Для копирования файлов на удаленный сервер с привлечением SSH, укажите полный путь к локальной директории в качестве источника и полный путь к директории на удаленном сервере, включая имя пользователя и хост:
|
|
|
|
|
|
|
|
|
|
rsync --archive --verbose --progress /local/source/ user@remotehost:/remote/destination/
|