Синхронизация файлов и папок – один из инструментов для организации совместной работы над проектами. Процедура особенно эффективна, если проводится резервное копирование документов и файлов других типов на облачный диск, вынесенный за пределы внутренней IT-инфраструктуры. Программа Rsync как раз и используется для синхронизации, копирования папок или отдельно взятых файлов на удаленные хосты.
В продукт встроена уникальная функция, позволяющая переносить только изменения, а не файлы целиком. Такой подход экономит трафик сети, снижает риски сбоев при обрыве связи, увеличивает скорость резервирования. Наиболее существенным выигрыш оказывается при обработке больших проектов, когда изменения происходят в них часто из-за значительно количества участников. И это еще не полный перечень возможностей.
Так, еще Rsync под Linux умеет:
Последнее позволяет работать без предоставления прав root – такой подход позволяет резервировать данные и восстанавливать их под любым пользователем, независимо от учетной политики. Утилита была разработана взамен RCP, используемой еще под Unix. Поэтому в нее и внесли столь важные и ранее недостающие возможности. На практике ее часто используют для создания «зеркал», которые подключаются на случай краха системы, например, из-за поломки оборудования.
Процедура инсталляции обычно не вызывает затруднений. Программу берут в репозитории ОС, с которой предстоит работать (например, CentOS 8). Она состоит из двух частей – серверной, которая принимает входящие обращения на синхронизацию, и клиентской, инициирующей запросы. Работа Rsync осуществляется по каналу SSH (по умолчанию), с указанным в конфигурации каталогом.
Последовательность команд по инсталляции и настройке:
dnf -y install rsync rsync-daemon
mkdir /tmp/share
vi /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsync.log [s]
Конфигурирование проводится через ручное изменение текстового файла rsyncd.conf. Содержится он в каталоге /ETC, а редактируется любой программой, поддерживающей данный формат. Список настроек следующий:
В качестве uid и gid рекомендуется применять учетки без привилегий. После корректировок конфигурационного файла его закрывают с сохранением внесенных изменений. Остается настроить брандмауэр, чтобы тот не блокировал запросы, а резервирование работало автоматически по мере внесения корректировок в файлы на рабочих станциях.
setsebool -P rsync_full_access on
firewall-cmd --add-service=rsyncd --permanent
firewall-cmd --reload
Все, теперь утилита подготовлена к первому запуску:
systemctl enable --now rsyncd
При работе в консоли с утилитой Rsync применяют целый перечень ключей. Их вносят в строку с учетом принятого для программы синтаксиса. Структурный вид командной строки:
rsync -options <source> <destination>
Назначение блоков:
Примеры команд для Rsync:
Существует еще более десятка команд, используемых с этой утилитой. Их лучше изучать согласно актуальной документации на программу. Ниже пример локального режима работы:
rsync -avzhHl /path/of/source/folder /path/to/destination/folder
Или работы с удаленным модулем Rsync Server:
rsync -avzhHl /path/of/source/folder
root@191.112.34.3:/path/to/destination/folder
Во втором случае пользователь указывает IP-адрес хоста, логин и пароль для доступа к нему.
Мы разобрали примеры использования утилиты Rsync и краткий перечень ее популярных команд. Теперь дело за пользователем – остается арендовать облачный диск, например на timeweb.cloud, и перенести на него свои проекты.
На рабочих файлах, особенно с критически важным содержимым, лучше применять проверенные параметры, в которых администратор на 100% уверен.