Резервное копирование с помощью rsync и cron
Надёжное резервное копирование данных — одна из главных задач при работе с серверами и персональными системами на Linux. Вместо сложных и дорогих решений можно использовать два мощных встроенных инструмента: rsync и cron. В этой статье мы расскажем, как настроить автоматическое резервное копирование с помощью этих утилит, приведём примеры и объясним, почему такой подход надёжен и эффективен.
Что такое rsync?
rsync — это утилита командной строки для синхронизации и резервного копирования файлов и папок. Она поддерживает инкрементальные бэкапы, копирование по SSH, исключения, и может работать как локально, так и по сети.
Преимущества rsync:
- Высокая скорость за счёт передачи только изменённых данных
- Поддержка копирования по SSH
- Удобная настройка через параметры командной строки
- Инкрементальный бэкап (копирует только изменения)
Пример базовой команды для резервного копирования:
rsync -av --delete /home/user/data/ /mnt/backup/data/Объяснение ключей:
-a— архивный режим (сохраняет права, символические ссылки и пр.)-v— подробный вывод--delete— удаляет на целевой стороне файлы, которых больше нет в источнике
Что такое cron?
cron — это планировщик задач в Linux, который позволяет автоматически выполнять команды и скрипты по расписанию.
Чтобы создать расписание, используется команда:
crontab -eПример задания для ежедневного резервного копирования в 2:00 ночи:
0 2 * * * /usr/bin/rsync -av --delete /home/user/data/ /mnt/backup/data/ >> /var/log/backup.log 2>&1Настройка автоматического бэкапа с rsync и cron
Шаг 1: Установка rsync (если не установлен)
sudo apt update && sudo apt install rsyncШаг 2: Проверка подключения (если используется SSH)
rsync -av -e ssh /home/user/data/ user@192.168.1.100:/mnt/backup/data/Шаг 3: Создание скрипта резервного копирования
Создайте файл /usr/local/bin/backup.sh:
#!/bin/bash
rsync -av --delete /home/user/data/ /mnt/backup/data/ >> /var/log/backup.log 2>&1Сделайте файл исполняемым:
chmod +x /usr/local/bin/backup.shШаг 4: Добавление задания в crontab
Откройте crontab и добавьте строку:
0 2 * * * /usr/local/bin/backup.shТеперь система будет выполнять резервное копирование каждый день в 2 часа ночи.
Дополнительные параметры rsync
--exclude— исключить файлы или директории-z— сжатие при передаче (актуально для SSH)--progress— отображать прогресс при выполнении
Пример с исключениями:
rsync -av --exclude 'node_modules' /project/ /mnt/backup/project/Преимущества такого подхода
- Простота — не требует сложных конфигураций
- Гибкость — легко настраивается под любые нужды
- Надёжность — проверенные инструменты Linux
- Автоматизация — cron обеспечивает регулярность без участия человека
Заключение
Связка rsync и cron — это надёжный способ автоматического резервного копирования на Linux. Такой подход отлично подойдёт как для домашних пользователей, так и для системных администраторов. Используя простые команды и скрипты, можно организовать регулярные бэкапы файлов и папок, минимизируя риск потери данных. Не забывайте регулярно проверять логи и корректность работы скриптов, чтобы быть уверенными в защите информации.
Ключевые слова: резервное копирование, rsync, cron, автоматическое резервное копирование, бэкап linux, настройка rsync, crontab, инкрементальный бэкап, скрипт бэкапа, защита данных, ssh, планировщик задач linux
Похожие статьи

Как настроить автоматическое обновление пакетов на сервере Linux
Изучаем, как автоматизировать обновление пакетов на Linux-сервере с помощью утилит unattended-upgrades, dnf-automatic и yum-cron. Рассматриваем настройку уведомлений и основные параметры конфигураций.
9 августа 20257 мин

Резервное копирование и восстановление MySQL с помощью mysqldump
Разбираем, как создать дамп базы данных с помощью mysqldump и восстановить его. CLI-параметры, безопасность, gzip и автоматизация.
10 июля 20254 мин

Как настроить автоматический бэкап Postgresql: пошаговое руководство
В этом руководстве мы подробно расскажем, как настроить автоматическое создание бэкапов для базы данных PostgreSQL, используя cron и bash-скрипты. Идеально подходит для администраторов баз данных и DevOps.
27 марта 20258 мин
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний