Резервное копирование с помощью 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
Настроить мониторинг за 30 секунд
Надежные оповещения о даунтаймах. Без ложных срабатываний