Знаменитый RSYNC имеет множество полезных применений. Часто используется полная схема взаимодействия (RSYNC-сервер <===> RSYNS-клиент), но это вовсе не обязательно.
Например, в случае бекапирования данных с локального сервера source.king.org (т.е. где запускается команда rsync) на удалённый сервер target.king.org достаточно использовать лишь RSYNC-клиент.
-e ssh - копировать по протоколу SSH (этот параметр может быть не обязателен, копирование и так пойдёт по SSH).
Слеш в конце пути получателя обязателен.
Обратите внимание, что в пути источника после каталога /home слеш намеренно не поставлен.
Благодаря этому каталог home на получателе создаётся автоматически.
Но вот что самое интересное - во втором случае клиент rsync должен быть проинсталлирован не только на локальном сервере, что вполне понятно, но и на удалённом сервере, иначе при выполнении данной команды будет выполняться ошибка
Но ни один дятел, описывающий применение rsync, не упомянул этот важный момент.
А что значат твой флаги?
я вот использую
ssh -urv /path/ host:/path/
-u - обновить
-r - рекусивно
-v - отобразить процесс
А добавлю свою инструкцию, она проще, имхо:
Обычно синхронизация двух каталогов делается с помощью Rsync и SSH.
Пример копирования удалённого каталога на локальную машину:
Пример выкладывания локального каталог на удалённую машину:
Если копируемая директория заканчивается слэшем, то файлы будут скопированы в каталог назначения относительно корня изначально заданной директории. Пример:
Если удалять файлы, исчезнувшие в исходном каталоге, но присутствующие в целевом, не нужно — ключ --delete убрать.
Можно еще использовать ключ --delete-after, который удаляет исходные файлы только после полного завершения синхронизации.
Этот ключ делает синхронизацию безопаснее, предотвращая возможную потерю данных при обрывах коннекта.
Недостаток — требуется много места для копируемых данных.