Введение
Резервное копирование — ключевая часть любого рабочего процесса системного администратора или пользователя. Потеря данных может стоить дорого, поэтому важно иметь надежный план. В этой статье вы узнаете о самых популярных инструментах резервного копирования в Linux, сравните их возможности и получите пошаговое руководство по настройке резервного копирования от простого до продвинутого уровня.
Требования / Подготовка
- Любая современная дистрибутива Linux (Ubuntu, Debian, Fedora, Arch и др.).
- Права суперпользователя (
sudo) для установки пакетов и записи в целевой каталог. - Базовые знания работы с терминалом и понимание путей в файловой системе.
Пошаговая инструкция
Шаг 1: Оцените свои потребности
Определите, сколько данных вы копируете, как часто нужно выполнять резервное копирование, требуется ли шифрование и где будут храниться копии (локально, на сетевом хранилище или в облаке). Это поможет выбрать подходящий инструмент.
Шаг 2: Выберите основной инструмент
rsync— отличный выбор для инкрементной синхронизации и зеркалирования с поддержкой сжатия и частичного копирования.tar— простой архиватор, подходит для статических архивов без необходимости синхронизации с исходной структурой.duplicity— инкрементный резервный копировщик на основе SSH/ftp с опциональным GPG-шифрованием, идеален для копий в облако.
Шаг 3: Установите выбранный инструмент
# Ubuntu/Debian
sudo apt update
sudo apt install rsync tar duplicity
# Fedora
sudo dnf install rsync duplicity
# Arch Linux
sudo pacman -S rsync duplicity
Шаг 4: Настройте базовый сценарий резервного копирования
Создайте скрипт /usr/local/bin/backup.sh с вашими командами резервного копирования. Пример для резервного копирования /home в /backup/home:
#!/bin/bash
set -euo pipefail
SRC="/home"
DST="/backup/home"
LOGFILE="/var/log/backup.log"
# Создаем целевую директорию, если ее нет
mkdir -p "$DST"
# Простое резервное копирование с помощью rsync (без удаления устаревших файлов)
rsync -av --progress "$SRC/" "$DST/"
echo "$(date): Резервное копирование $SRC завершено" >> "$LOGFILE"
Не забудьте сделать скрипт исполняемым:
chmod +x /usr/local/bin/backup.sh
Добавьте обработку ошибок (например, проверку возврата rsync) и настройте логирование по вашему усмотрению.
Шаг 5: Настройте автоматическое выполнение с помощью cron
Откройте crontab:
crontab -e
Добавьте строку для регулярного выполнения, например, каждые 6 часов:
0 */6 * * * /usr/local/bin/backup.sh >> /var/log/backup_cron.log 2>&1
Сохраните файл. Cron запустит скрипт от имени текущего пользователя; если нужны права суперпользователя, используйте sudo в скрипте или настройте crontab с sudo crontab -e.
Шаг 6: Проверьте результат
Запустите скрипт вручную:
/usr/local/bin/backup.sh
Проверьте целевой каталог на наличие новых файлов, убедитесь, что структура сохранена. Просмотрите лог-файлы (/var/log/backup.log и /var/log/backup_cron.log), чтобы убедиться в отсутствии ошибок.
Проверка результата
После первого успешного запуска убедитесь, что резервная копия содержит ожидаемый объем данных и что скрипт не выдает ошибок. Проверьте логи cron, чтобы убедиться, что задания выполняются по расписанию.
Возможные проблемы
- Ошибка доступа при запуске rsync – убедитесь, что у вас есть права на чтение исходных директорий и записи в целевую директорию; либо запустите скрипт с
sudo. - Отсутствие
duplicityв дистрибутиве – добавьте репозиторий EPEL (Fedora) или AUR (Arch) перед установкой. - Переполнение диска – настройте rotatelogs или автоматическое удаление старых копий с помощью cron или
find. - Нестабильное соединение при резервном копировании в облако – используйте
--partial-dirв rsync или--volsizeвduplicityдля восстановления после прерываний.
С помощью этих инструментов и советов у вас будет надежный план резервного копирования, который защитит ваши данные от случайной потери или сбоя оборудования.