Этап 1. Инсталляция rsync
rsync представляет из себя инструмент быстрого и эффективного копирования документов и директорий, поддерживающая инкрементное обновление, удаленную синхронизацию через SSH и исключение файлов. Она предустановлена на различных дистрибутивах Linux. В случаях отсутствия утилиты установку можно выполнить вручную.
Установка rsync на распространенных площадках Linux
Отталкиваясь от используемой системы, инсталляция выполняется с использованием следующих команд:
Debian, Ubuntu и производные
sudo apt update && sudo apt install rsync -y

CentOS, RHEL, Rocky Linux, AlmaLinux
sudo yum install rsync -y
или (если используется dnf вместо yum):
sudo dnf install rsync -y
Arch Linux
sudo pacman -S rsync
macOS (через Homebrew)
brew install rsync
Проверка инсталляции
Завершив инсталляцию, есть возможность проверить версию утилиты:
rsync --version

В случае успешной установки отобразится информация о версии и настройках rsync.
Этап 2. Базовая конфигурация rsync
Установив rsync можете применять его для проведения копирования как локально, так и в удаленном формате. Ниже рассмотрены базовые команды и параметры.
Локальное копирование
Синхронизация на одном сервере:
rsync -av /home/user/documents /backup/

Где:
-a
– состояние архива, которое сохранит права доступа, метки о времени и символические ссылки.-v
– обнародует информацию детально.
Бэкап через SSH на удаленный сервер
Чтобы отправить данные
Для передачи файлов на другой сервер через SSH следует воспользоваться такой командой:
rsync -avz -e "ssh -p 22" /home/user/documents user@remote-server:/backup/
Где:
-z
– сжимает информацию чтобы повысить скорость отправки.-e "ssh -p 22"
– применение SSH с указанием порта (если нестандартный).user@remote-server:/backup/
– место сохранения на удаленном сервере.
Исключение документов и директорий
Чтобы не копировать определенные файлы, используйте –exclude:
rsync -av --exclude="*.tmp" /home/user/documents /backup/
Это исключит все доументы с расширением .tmp.
Удаление устаревших документов из целевой директории
Когда возникнет потребность избавиться от файлов на сервере, если они уже не существуют в исходной папке, добавьте
--delete:
rsync -av --delete /home/user/documents /backup/
Используя этот параметр есть риск потери важной информации на сервере назначения, поэтому будьте осторожны с этим параметром.
Шаг 3. Настройка cron
После настройки rsync можно автоматизировать процесс с помощью планировщика задач cron.
Открытие файла crontab
Для редактирования расписания запустите команду:
crontab -e
Откроется файл для добавления задач cron.
Создание задачи для ежесуточного бэкапа
Впишите следующую строку:
0 2 * * * rsync -avz --delete /home/user/documents /backup/ >> /var/log/rsync.log 2>&1

Где:
0 2 * * *
– выполняет команду в 2:00 каждую ночь.>> /var/log/rsync.log 2>&1
– записывает лог выполнения в файл/var/log/rsync.log.
Автокопирование на удаленный сервер
0 3 * * * rsync -avz -e "ssh -p 22" /home/user/documents user@remote-server:/backup/ >> /var/log/rsync.log 2>&1
Это будет создавать копию каждую ночь в 3:00.
Проверка списка задач cron
Для того, чтобы проверить добавлена ли требуемая задача, выполните:
crontab -l
Это отобразит все запланированные задания текущего пользователя.
Шаг 4. Проверка работоспособности
После настройки cron важно проверить, работает ли автоматическое копирование.
Отследить лист задач в crontab
crontab -l
Ручной запуск тест-команды
rsync -av --delete /home/user/documents/ /backup/documents/
Отследить логи cron
cat /var/log/syslog | grep rsync
Настройка уведомлений
Добавим отправку email при ошибках:
MAILTO="admin@example.com"
0 3 * * * rsync -av --delete /home/user/documents/ /backup/documents/ >> /var/log/rsync.log 2>&1
Теперь при сбоях бэкапа на указанную почту будет отправляться сообщение.
Шаг 5. Рекомендации по безопасности
Использование ключей SSH
Чтобы совершать удаленный бэкап без пароля, сконфигурируйте должным образом ключи SSH:
ssh-keygen -t rsa
ssh-copy-id user@remote_host
Регулирование уровня допуска
Запретите допуск к резервным копиям от неавторизованных пользователей:
chmod -R 700 /backup/
Хранение нескольких версий бэкапов
Пользуйтесь
--backup
и
--backup-dir
чтобы сберечь старые версии документов:
rsync -av --backup --backup-dir=/backup/old /home/user/documents/ /backup/documents/
Заключение
Автоматизированный бэкап с использованием rsync и cron является отличным способом обезопасить данные в случае возникновения критических проблем. В данной публикации мы осветили следующие моменты:
- Инсталляция и настройку rsync.
- Базовые и продвинутые команды синхронизации.
- Использование cron с целью автоматического запуска дублирования данных.
- Способы проверки работоспособности и логирования.
- Основные меры безопасности информации.
Однако бэкап-конфигурация является всего первым шагом. Чтобы поддерживать высокую отказоустойчивость и гарантировать безопасность данных необходимо учитывать дополнительные аспекты:
- Регулярная проверка возможностей восстановления информации
Недостаточно только сделать нужные копии. Необходимо еще проверять дубликаты на возможность восстановления. Это можно делать в тестовой среде, сверяя полученные файлы с оригиналами. - Использование нескольких уровней резервного копирования
Желательно хранить копии в разных местах:- Локальные копии на том же сервере.
- Отдельный выделенный сервер или NAS для хранения данных.
- Облачные сервисы для защиты от аппаратных сбоев.
- Использование ротации
Сконфигурировав rsync с ключом –backup-dir, есть возможность хранения нескольких версий одного документа. Необходимо это для отката к предыдущей версии в случаях возникновения ошибок или непреднамеренного удаления файла. - Обеспечение безопасности резервных копий
- Шифрование перед передачей через SSH.
- Регулирование уровня доступа через chmod и chown.
- Использование надежных паролей и ключей SSH.
- Мониторинг и уведомления
Не забывайте про важность наблюдения за исправностью процессов автокопирования. Упростить сей процесс можно с помощью настройки оповещений о статусе копирование. Вы будете получать уведомления о сбое или успехе бэкапа. Ведение логов также крайне важно для мониторинга системного состояния.
Руководствуясь данными советами, вы получите безопасную среду с минимальным риском потери данных.