Перейти на домашнюю страницу

rsync, Примеры использования

Во всех примерах ниже rsync используется для копирования файлов на текущем сервере.

Чтобы скопировать файлы по сети из каталога "from" компьютера "server" в локальный каталог "to" используйте синтаксис:

rsync user@server:/from/ /to/


Внимание! Обратное копирование с локального сервера на удалённый - возможно, но могут возникать различные ошибки:

rsync /from/ user@server:/to/


Пример 1:

Пример копирования содержимого каталога /etc в каталог /backup

rsync -av --progress /etc/ /backup/


Использованы опции:
-a Архивный режим (включает в себя чаще всего используемые опции)
-v Для расширенного вывода информации
--progress Для подробного вывода информации по копируемым файлам

Пример 2:

Пример копирования каталога /etc в качестве подкаталога /backup
Обращаем внимание на отсутствие "/" после имени каталога etc.

rsync -av --progress /etc /backup/


Пример 3:

Пример создания зеркала: содержимое каталога /backup будет соответствовать /etc

По-умолчанию файлы и каталоги, которые есть в каталоге /backup, но отсутствуют в /etc - тронуты не будут. Содержимое каталога /etc будет скопировано в /backup в дополнение к тому, что там уже находится.
Если вы хотите, чтобы содержимое каталога /backup стало точной копией содержимого каталога /etc - добавьте ключ --delete-delay . В этом случае все лишние файлы в /backup будут удалены (после окончания процесса синхронизации; возможны и другие варианты - смотрите документацию).

rsync -av --delete-delay --progress /etc/ /backup/


Пример 4:

Пример запрета на перезапись старыми файлами новых.

Файлы перезаписываются, если отличаются (не важно в какую сторону). Поэтому старые файлы из /etc могут легко затереть более новые в /backup.
Чтобы старые файлы не перезатирали более новые - добавьте ключ -u . В данном примере, если в каталоге /backup обнаружится одноимённый файл, но с более новой датой - такой файл перезаписан не будет.

rsync -av -u --progress /etc/ /backup/

#linux

2018-06-15 15:23:05