Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Команда rsync: эффективное копирование и синхронизация файлов в Linux

  • Что такое rsync
  • Установка rsync
  • Базовый синтаксис
  • Сценарий 1: Локальная синхронизация
  • Сценарий 2: Резервное копирование по SSH
  • Сценарий 3: Зеркалирование
  • Сценарий 4: Исключение файлов
  • Расписание с помощью cron
  • Проверка работы
  • Альтернативы rsync
  • Часто используемые флаги
  • Заключение

В Linux и других UNIX-системах для копирования файлов чаще всего используют команды cp и scp: подробный разбор команд cp и mv.
Однако если нужно синхронизировать каталоги, обновлять резервные копии или оптимизировать передачу больших объёмов данных, лучшим решением становится rsync.

В этой статье мы рассмотрим, как работает rsync, приведём практические примеры и объясним, почему эта утилита является незаменимой в системном администрировании.

Что такое rsync

rsync (Remote Sync) — это утилита для быстрого и эффективного копирования и синхронизации файлов и директорий как локально, так и по сети.

Главные преимущества:
- Копирует только изменённые данные;
- Поддерживает SSH и другие удалённые протоколы;
- Умеет работать в режиме зеркалирования;
- Позволяет создавать резервные копии с минимальной нагрузкой.

Установка rsync

Обычно rsync уже установлен в большинстве дистрибутивов.

rsync -v

Если нет — установить его можно так:

Debian / Ubuntu:

apt update
apt install rsync

CentOS / RHEL:

dnf install rsync

Базовый синтаксис

rsync [опции] источник назначение

Примеры:

rsync -av /home/user/docs/ /backup/docs/

- -a — архивный режим (сохраняет права, даты, симлинки);
- -v — подробный вывод (verbose);
- В конце /docs/ обязательно слеш, чтобы скопировать содержимое, а не сам каталог.

Сценарий 1: Синхронизация каталогов на локальной машине

rsync -av /var/www/html/ /backup/html/

- Скопирует всё содержимое сайта в /backup/html;
- При следующем запуске скопирует только изменённые файлы;
- Удаленные файлы не затрагиваются (если не указано иначе).

Сценарий 2: Резервное копирование по SSH

rsync -avz -e ssh /etc/ user@192.168.1.100:/backup/etc/

- -z — сжатие данных при передаче;
- -e ssh — использование SSH-протокола;
- Отлично подходит для удалённой синхронизации между серверами.

Сценарий 3: Зеркалирование с удалением лишних файлов

rsync -av --delete /data/ /mnt/backup/data/

- Опция --delete удалит на стороне назначения те файлы, которых нет в источнике;
- Полезно для поддержания полной синхронизации двух каталогов.

⚠️ Будьте осторожны с --delete. Рекомендуется сначала использовать --dry-run, чтобы увидеть, что будет удалено:

rsync -av --delete --dry-run /data/ /mnt/backup/data/

Сценарий 4: Исключение файлов и папок

Можно исключить отдельные файлы или типы файлов:

rsync -av --exclude '*.log' --exclude 'tmp/' /project/ /backup/project/

Расписание с помощью cron

Для автоматизации резервного копирования используйте cron:

crontab -e

Добавьте строку:

0 3 * * * rsync -a /var/www/ /mnt/backup/www/ >> /var/log/rsync.log 2>&1

- Выполняется каждый день в 03:00;
- Весь вывод сохраняется в лог-файл.

Проверка работы

После запуска rsync полезно проанализировать:
- Вывод команды (-v);
- Лог-файлы (--log-file=/var/log/rsync.log);
- Объём переданных данных (--progress, --stats).

Пример:

rsync -av --progress /data/ /backup/data/

Альтернативы rsync

- scp — простой, но всегда копирует всё заново;
- tar + ssh — хорош для архивов;
- rclone — для синхронизации с облачными хранилищами (Google Drive, S3);
- borg — продвинутый инструмент для резервного копирования.

Тем не менее, rsync остаётся золотым стандартом для синхронизации в Linux.

Часто используемые флаги rsync

ФлагНазначение
-aАрхивный режим (рекурсивно + сохраняет права)
-vПодробный вывод
-zСжатие при передаче
--deleteУдаление файлов на приёмнике
--progressПоказывать прогресс передачи
--excludeИсключение файлов/каталогов

Заключение

rsync — универсальный инструмент для эффективного копирования и синхронизации данных.
Благодаря множеству настроек, поддержке SSH и возможности исключения файлов, он идеально подходит для системных администраторов, разработчиков и владельцев серверов.
Используйте rsync для:
- Резервного копирования;
- Зеркалирования данных;
- Синхронизации между серверами;
- Защиты от потери данных.

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ