Использование утилиты Rsync на VPS

Использование утилиты Rsync на VPS

28.04.2022
Автор: HostZealot Team
2 мин.
1326

Rsync – программное обеспечение, позволяющее синхронизировать файлы удаленно или локально на VPS и VDS. Ключевой особенностью утилиты является высочайшая скорость копирования, достигаемая благодаря игнорированию файлов, которые никак не изменились после последней синхронизации. Rsync является встроенной утилитой для большинства существующих дистрибутивов Linux, и при этом она практически не имеет бесплатных аналогов по скорости и удобству – этим обусловлена популярность у веб-мастеров по всему миру.

Основной синтаксис Rsync

Удаленная синхронизация с помощью Rsync работает по простому синтаксису, который схематически выглядит так:

# rsync -options

– это параметры утилиты, под подразумевается каталог или файл, являющийся источником, а – это приемник.

Рассмотрим наиболее часто используемые опции утилиты:

  • -v – отладочный режим;
  • -q – запрет вывода ошибок;
  • -r – режим рекурсивного копирования;
  • -a – архивирование с сохранением симлинков;
  • -z – сжатие данных;
  • -b – создание бэкапов;
  • -h – вывод данных в human-readable формате.

Это лишь базовый набор параметров, которые можно активировать при работе с утилитой Rsync – в официальной документации можно найти намного более подробные гайды и мануалы, но для ознакомления потребуется владение английским.

Синхронизация с удаленной системой

При наличии локального доступа к серверу достаточно через командную строку указать две директории, источник и приемник:

rsync -avzhHl /path/of/source/folder /path/to/destination/folder

Если же резервирование данных необходимо выполнить удаленно, то в команду добавляем имя учетной записи и IP-адрес целевого узла:

rsync -avzhHl /path/of/source/folder
root@192.168.56.1:/path/to/destination/folder

Корректная и безопасная работа для remote sync требует настройки доступа с помощью ключей, утилита это позволяет.

Использование утилиты rsync на vps

Как настроить автоматическую синхронизацию директорий

Чтобы автоматизировать процесс, нужно воспользоваться планировщиком задач cron, который также имеется на любой ОС на базе Linux. Сперва нужно создать скрипт:

vi rsync_to_cron.sh
!/bin/sh RSYNC=/usr/bin/rsync SSH=/usr/bin/ssh KEY=/root/.ssh/id_rsa RUSER=root RHOST=192.168.56.1 RPATH=/remote/dir LPATH=/local/dir $RSYNC -az -e "$SSH -i $KEY" $RUSER@$RHOST:$RPATH $LPATH

Затем создаем задание для cron:

crontab -e
0 22 * * * /root/scripts/rsync_to_cron.sh

Ну а чтобы отслеживать процесс синхронизации, вы всегда можете воспользоваться ключом -progress:

rsync -avzhHl --progress /path/of/source/folder
root@192.168.56.1:/path/to/destination/folder

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

Самым простым примером использования утилиты Rsync для удаленной синхронизации будет команда:

rsync -a --delete-after /data/ /backup/

Здесь мы даем команду на синхронизацию каталога /data с каталогом /backub. Ключ delete-after очистит каталог /backup от всех файлов, которые отсутствуют в директории /data. Параметр -a позволяет ускорить процесс, так как копироваться будут только измененные файлы.

Утилита позволяет копировать данные в обе стороны, при этом синтаксис Rsync позволяет активировать множество дополнительных режимов и опций. На этом мы заканчиваем наш материал и благодарим за внимание. Если потребуется 

арендовать VPS – обращайтесь, наши специалисты помогут подобрать оптимальный тариф.

# VPS Поделиться:
Статьи по Теме