rsync синхронизация | Просто блог

rsync синхронизация

Что может быть проще синхронизации двух файловых систем (папок) на разных серверах? На первый взгляд все просто, открыл первый сервер, скопировал на свой рабочий компьютер набор файлов, открыл второй сервер, залил туда файлы. Однако, во-первых, эту операцию нужно проделывать руками, а регулярно выполнять однотипные операции человеку быстро надоедает. Он ищет средства автоматизации. Во-вторых происходит двойная нагрузка на сеть, ведь в описанной выше цепочке участвуют три компьютера: Сервер-источник => Рабочий компьютер => Сервер-получатель. В-третьих, если в процессе копирования файл изменится, что будет с такой «ручной» синхронизацией?

Вот и придумали утилиту RSYNC — спасительницу из мира LINUX. Достоинства данной консольной команды в ее гибкости и универсальности. На просторах интернета есть множество примеров ее использования в самых различных сценариях, а подробная документация по каждому параметру и принимаемых значениях позволяет настроить  rsync для себя.

RSYNC синхронизирует как отдельные файлы, так и целые каталоги рекурсивно. Может применять кодирование передаваемых данных. Стандартный порт работы утилиты TCP-873.

Для профессиональной работы с командой rsync можно и нужно использовать Алиасы для серверов. Alias позволяет выполнять соединение с серверами без передачи множества служебных параметров, таких как хост, порт, логин, пароль, ключ и т.п. Настройка SSH для работы с Алиасами подробно рассмотрена в статье: «SSH — Авторизация по ключу»:

SSH — Авторизация по ключу

#!/bin/sh
rsync -a0 /path/on/source/server/ alias:/path/on/target/server/

В скрипте замените путь к исходной папке, путь к конечной папке, а так же Алиас целевого сервера.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: