# 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/