Резервное копирование с помощью rsync и cron

7 минут чтения
Средний рейтинг статьи — 4.7

Надёжное резервное копирование данных — одна из главных задач при работе с серверами и персональными системами на 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

7 минут чтения
Средний рейтинг статьи — 4.7

Настроить мониторинг за 30 секунд

Надежные оповещения о даунтаймах. Без ложных срабатываний