Вы здесь

Синхронизируем директории с помощью Rsync

tags: 

Что такое rsync?

rsync (сокращение от remote synchronization) это бесплатная утилита для передачи данных между Unix systems.

Если говорить просто, то это команда Unix, которую вы можете запустить локально для синхронизации двух директорий. Реальная мощь rsync проявляется, когда необходимо синхронизировать директории между удаленными системами. rsync использует протокол ssh для передачи данных между системами, но более ранние версии использовали rsh.

rsync либо предуставлен на большинстве современных Unix-подобных дистрибутивах, либо может быть легко установлен из репозитариев.

Что делает rsync?

rsync синхронизирует директории — делает одну директорию похожей на другую, включая структуру папок и файлов. rsync во время работы получает список файлов в директории источнике, сравнивает его с нужными критериями (размер файлов, время создания или модификации или контрольная сумма) и затем файлы, которые подошли по критериям копирует в директорию назначения.

Базовое использование rsync

Для того чтобы показать вам как работает rsync я сделаю 2 директории с файлами в них. /tmp/dir1 в моем примере это директория-источник, тогда как /tmp/dir2 будет директорией назначения — в результате опыта она будет соответствовать директории /tmp/dir1.

Создадим директории и файлы:

 

В данный момент наши директории выглядят так:

 

Теперь запустим в первый раз rsync.

Последние 2 параметра в команде обозначают директорию источник и назначение. В примере ниже мы использует следующие опции:
-avz — a для режима архивации (сохраняет все атрибуты файлов и директорий-владельца, права и прочее), v для отображения списка файлов обработанных rsync и z для компрессии данных для увеличения скорость.
–stats — данная опция после завершения синхронизации выводит суммарную статистику.

 

Как вы можете заметить, хотя в директории /tmp/dir1 было 3 файла, только 2 из них было передано в директорию /tmp/dir2.

На сегодня это все, в следующих постах я покажу вам более продвинутое использование rsync. Для особо любознательных предлагаю почитать man rsync или rsync –help
Оригинал: http://guruadmin.ru/page/sinhroniziruem-direktorii-s-pomoshhju-rsync.