Linux

Резервное копирование данных в Linux: полное руководство

В этом руководстве вы научитесь создавать надежные резервные копии важных данных в Linux с помощью встроенных инструментов и сторонних программ. Мы рассмотрим как консольные методы (tar, rsync), так и графические решения, а также дадим советы по автоматизации и проверке бэкапов.

Обновлено 17 февраля 2026 г.
15-30 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04+Debian 11+Fedora 35+Arch Linuxлюбой дистрибутив с bash

Введение / Зачем это нужно

Резервное копирование (бэкап) — это ваша главная страховка от потери данных из-за сбоя диска, ошибки при обновлении системы или вредоносного ПО. В Linux есть мощные встроенные инструменты, которые позволяют создавать надежные копии важных файлов быстро и без лишних затрат. После выполнения этого гайда вы будете уверены, что ваши документы, конфигурационные файлы и проекты в безопасности.

Требования / Подготовка

  1. Права доступа: Для копирования системных файлов или файлов других пользователей могут потребоваться права sudo. Для личных файлов обычно достаточно прав текущего пользователя.
  2. Свободное место: Убедитесь, что на целевом носителе (внешний диск, другая partitioning, сетевой путь) достаточно места для хранения данных. Рекомендуется иметь запас 20-30%.
  3. Носитель для бэкапа: Подготовьте внешний жесткий диск, флешку или выделенный раздел на внутреннем диске. Для долгосрочного хранения лучше использовать физически отдельный носитель.
  4. Установленные утилиты: Большинство дистрибутивов поставляют tar и rsync из коробки. Для графического интерфейса может потребоваться установка пакета (например, deja-dup в Ubuntu/Debian: sudo apt install deja-dup).

Пошаговая инструкция

Шаг 1: Определите, что и куда备份ровать

Составьте список каталогов и файлов, которые критически важны. Типичные кандидаты:

  • ~/Documents, ~/Pictures, ~/Videos — личные файлы.
  • ~/projects или ~/code — исходный код проектов.
  • ~/.config — конфигурационные файлы приложений (может быть много служебных, лучше выбрать точечно, например, ~/.config/Code, ~/.config/gtk-3.0).
  • Списки установленных пакетов (для восстановления системы): dpkg --get-selections > ~/package-list.txt (Debian/Ubuntu) или pacman -Qeq > ~/pkglist.txt (Arch).

Выберите точку монтирования вашего внешнего носителя. Обычно она появляется в /media/ваше_имя_пользователя/ или /mnt/.

Шаг 2: Создайте бэкап с помощью tar

tar — классический утилита для создания архивов. Она объединяет множество файлов в один, поддерживает сжатие.

Базовый пример (без сжатия):

tar -cvf /media/backup/backup_home_$(date +%Y%m%d).tar ~/Documents ~/Pictures
  • -c — создать архив.
  • -v — выводить список добавляемых файлов (verbosely).
  • -f — указать имя файла архива.
  • $(date +%Y%m%d) — автоматически добавляет текущую дату (например, 20260217) в имя файла.

Пример с сжатием (gzip):

tar -czvf /media/backup/backup_home_$(date +%Y%m%d).tar.gz ~/Documents ~/Pictures
  • -z — сжать с помощью gzip.

Создание полного бэкапа домашней директории (осторожно, может быть много служебных файлов):

sudo tar -czvf /media/backup/full_home_backup_$(date +%Y%m%d).tar.gz --exclude='./Cache' --exclude='./.cache' --exclude='./.npm' /home/ваш_пользователь/

Использование --exclude позволяет пропустить кэши и временные файлы, экономя место.

💡 Совет: Для регулярных бэкапов лучше использовать rsync (следующий шаг), так как он копирует только изменения. tar лучше подходит для разовых полных архивов.

Шаг 3: Настройте инкрементальный бэкап с помощью rsync

rsync — это мощный инструмент для синхронизации каталогов. Он копирует только измененные или новые файлы, что экономит время и место при регулярном использовании.

Базовая синхронизация (с сохранением прав и структуры):

rsync -avh --delete ~/Documents/ /media/backup/Documents/
  • -a — архивный режим (сохраняет права, временные метки, рекурсивно).
  • -v — подробный вывод.
  • -h — "human-readable" (человекочитаемые размеры).
  • --delete — удаляет файлы в целевой папке, которых уже нет в исходной (содержит точную копию). Используйте с осторожностью!

Бэкап с исключениями (например, кэша браузера):

rsync -avh --delete --exclude='.cache' --exclude='.npm' --exclude='Downloads' /home/ваш_пользователь/ /media/backup/full_home/

Копирование по SSH (на удаленный сервер):

rsync -avh -e ssh ~/Documents/ user@remote-server:/path/to/backup/

Убедитесь, что на удаленном сервере настроен доступ по SSH.

Шаг 4: Используйте графическую утилиту (опционально)

Для тех, кто предпочитает GUI, отличным выбором является Deja Dup (в Ubuntu называется "Резервное копирование").

  1. Установите: sudo apt install deja-dup (Ubuntu/Debian) или найдите в центре приложений вашего дистрибутива.
  2. Запустите "Резервное копирование" из меню.
  3. Нажмите "Автоматически запоминать пароль" (если хотите автоматические бэкапы).
  4. В разделе "Хранилище" выберите место (локальная папка, внешний диск, сетевую папку).
  5. Во вкладке "Папки" добавьте нужные каталоги для бэкапа.
  6. Во вкладке "Исключить" укажите папки, которые копировать не нужно (например, ~/Downloads, ~/.cache).
  7. Настройте расписание во вкладке "Планирование" (например, ежедневно).
  8. Нажмите "Создать резервную копию сейчас" для первого запуска.

Шаг 5: Настройте автоматизацию (для tar/rsync)

Создайте скрипт для регулярного запуска.

  1. Создайте файл ~/scripts/backup.sh:
    #!/bin/bash
    # Простой скрипт бэкапа с rsync
    SOURCE_DIR="/home/ваш_пользователь/Documents"
    BACKUP_DIR="/media/backup/Documents"
    LOG_FILE="/var/log/backup.log"
    
    echo "=== Начало бэкапа: $(date) ===" >> $LOG_FILE
    rsync -avh --delete $SOURCE_DIR/ $BACKUP_DIR/ >> $LOG_FILE 2>&1
    echo "=== Бэкап завершен: $(date) ===" >> $LOG_FILE
    
  2. Дайте права на выполнение: chmod +x ~/scripts/backup.sh.
  3. Добавьте задание в cron:
    • Выполните crontab -e.
    • Добавьте строку для ежедневного бэкапа в 2:00 ночи:
      0 2 * * * /home/ваш_пользователь/scripts/backup.sh
      
    • Сохраните и выйдите.

Проверка результата

  1. Для tar: Убедитесь, что файл архива создался и имеет разумный размер. Посмотрите его содержимое без распаковки:
    tar -tzf /media/backup/backup_home_20260217.tar.gz | head -20
    
    Попробуйте распаковать один файл в временную папку для проверки:
    mkdir /tmp/test_restore
    tar -xzf /media/backup/backup_home_20260217.tar.gz -C /tmp/test_restore Documents/important.txt
    cat /tmp/test_restore/Documents/important.txt
    
  2. Для rsync: Сравните исходную и целевую папки. Вы можете запустить rsync с флагом -n (dry-run), чтобы увидеть, какие файлы будут скопированы/удалены при следующем запуске:
    rsync -avhn --delete ~/Documents/ /media/backup/Documents/
    
    Проверьте, что структура папок и ключевые файлы присутствуют в /media/backup/Documents/.
  3. Логи: Если использовали автоматизацию, проверьте лог-файл (/var/log/backup.log или указанный вами) на наличие ошибок.

Возможные проблемы

  • Ошибка "Permission denied" (Отказ в доступе): Вы пытаетесь скопировать файлы, к которым у вашего пользователя нет прав. Используйте sudo для команды tar/rsync, но будьте осторожны, чтобы не скопировать системные файлы в бэкап, которые потом могут конфликтовать при восстановлении. Лучше копировать только файлы домашней директории или те, к которым у вас явно есть доступ.
  • "No space left on device" (Закончилось место): Целевой носитель заполнен. Освободите место или используйте другой носитель. Проверьте место командой df -h.
  • rsync удаляет важные файлы (--delete): Флаг --delete опасен, если в целевой папке уже есть какие-то данные, которых нет в исходной (например, старые бэкапы). Всегда проверяйте команду с -n (dry-run) перед первым реальным запуском. Для хранения нескольких версий бэкапа лучше не использовать --delete или хранить каждую дату в отдельной папке.
  • Носитель не монтируется автоматически: Если вы используете внешний диск, убедитесь, что он надежно подключен. Для автоматического монтирования при загрузке изучите /etc/fstab. В скрипте бэкапа можно добавить проверку и монтирование, но это усложняет задачу.
  • Бэкап занимает слишком много времени: Используйте rsync для инкрементальных копий. Для первого полного бэкапа tar может быть быстрее, так как создает единый поток. Для последующих — rsync предпочтительнее.

Часто задаваемые вопросы

Как автоматизировать резервное копирование в Linux?
Можно ли шифровать резервную копию?
В чем разница между tar и rsync для бэкапа?
Как проверить целостность созданного бэкапа?

Полезное

Определите, что и куда备份ровать
Создайте бэкап с помощью tar
Настройте инкрементальный бэкап с rsync
Настройте автоматизацию (опционально)
Проверьте бэкап