Главная страница » Raspberry Pi » Резервное копирование Raspberry Pi: как не потерять данные и сон
Резервное копирование Raspberry Pi: как не потерять данные и сон
Raspberry Pi

Резервное копирование Raspberry Pi: как не потерять данные и сон

31.03.2026 158
Резервное копирование Raspberry Pi: как не потерять данные и сон

Пошаговое руководство по настройке резервного копирования Raspberry Pi. Узнайте, как создать образ SD-карты, автоматизировать бэкап файлов и настроить восстановление. Защитите свой умный дом и данные!

Если ваш Raspberry Pi — это просто игрушка для пары экспериментов, можно жить без бэкапов. Но если на нём крутится ваш умный дом, личный облачный архив, или он десятый месяц собирает данные с датчиков для дипломной работы — однажды вы проснётесь от тишины. Тишины, которую издаёт переставший работать вентилятор охлаждения, потому что карта памяти решила выйти на пенсию. Или от того, что после очередного sudo apt upgrade система благополучно не загружается.

Я прошёл через это. Потерял конфигурацию Home Assistant, которую настраивал несколько недель. С тех пор резервное копирование для меня — не рекомендация, а обязательный ритуал. В этой статье разберём не только «как», но и «что», «куда» и «как часто» копировать на вашем одноплатнике. Будем делать это максимально практично.

Зачем Raspberry Pi нужен бэкап? Специфика одноплатников

Главная уязвимость Raspberry Pi — это носитель данных. В 99% случаев это microSD карта. Она одновременно является и загрузочным устройством, и системным диском, и хранилищем для всех ваших данных. Эти карты, особенно при активной записи логов и работе с базами данных (как в Home Assistant или InfluxDB), имеют ограниченный ресурс циклов записи. Их отказ — вопрос времени.

Что мы теряем при отказе: 1. Операционную систему и все настройки. 2. Установленное ПО и его конфигурации (веб-серверы, базы данных, брокеры MQTT как Mosquitto). 3. Пользовательские данные и скрипты. 4. Самое ценное — время на восстановление всего этого.

Цель — не просто скопировать файлы, а иметь план быстрого восстановления работоспособности системы до последнего рабочего состояния.

Что будем бэкапировать? Стратегии выбора

Есть два основных подхода:

  1. Полный образ SD-карты. Создаёт побайтовую копию всего раздела, включая загрузчик, таблицу разделов и пустое пространство. Идеально для быстрого восстановления «как было». Минус: большой размер, нельзя восстановить отдельный файл без монтирования образа.
  2. Резервное копирование файлов и конфигураций. Копирует только важные данные: конфиги, пользовательские файлы, списки установленных пакетов. Минус: для восстановления потребуется чистая установка ОС.

Моя рекомендация: используйте оба метода в комбинации. Регулярно (раз в месяц/после крупных изменений) делайте полный образ. А критически важные данные (базы данных, конфиги) копируйте ежедневно или по изменению.

Практика: создание полного образа SD-карты

Этот метод выполняется на другом компьютере (пк, ноутбук) с кардридером. Вы вынимаете карту из Raspberry Pi и создаёте её точную копию.

Шаг 1: Определение устройства карты

Вставьте карту в кардридер. Определите её идентификатор в системе.

# На Linux/Mac
sudo fdisk -l
# или
lsblk

# На Mac можно использовать
diskutil list

Внимание! Будьте предельно осторожны, выбирая устройство. Стирание основного диска компьютера — классическая ошибка. Обычно карта памяти определяется как /dev/sdX (например, /dev/sdb) на Linux или /dev/diskX на Mac. Ищите устройство по размеру.

Шаг 2: Создание образа

Используем утилиту dd — мощный и низкоуровневый инструмент.

# Команда общего вида. ЗАМЕНИТЕ /dev/sdX на ваше устройство!
sudo dd if=/dev/sdX of=~/raspberry_pi_backup_$(date +%Y%m%d).img bs=4M status=progress

Комментарий: * if=/dev/sdX — input file (источник). Ваша SD-карта. * of=... — output file (приёмник). Файл образа. Я добавляю дату в имя. * bs=4M — block size. Ускоряет процесс. * status=progress — показывает прогресс (не во всех версиях dd). Если не работает, можно запустить команду в другом терминале: sudo kill -USR1 $(pgrep ^dd).

Совет: Для большего удобства и сжатия используйте dd в паре с gzip.

sudo dd if=/dev/sdX bs=4M status=progress | gzip > ~/raspberry_pi_backup_$(date +%Y%m%d).img.gz

Шаг 3: Проверка образа (важно!)

Созданный образ можно проверить, смонтировав его как loop-устройство и посмотрев на файлы.

# На Linux
sudo losetup -fP ~/raspberry_pi_backup_YYYYMMDD.img
sudo mount /dev/loop0p2 /mnt  # Монтируем второй (основной) раздел
ls /mnt
sudo umount /mnt
sudo losetup -d /dev/loop0

Если файлы отображаются — образ создан корректно.

Практика: Резервное копирование файлов и данных на самом Raspberry Pi

Этот метод работает по расписанию, не требует извлечения карты и идеален для критичных данных.

Сценарий 1: Архивирование ключевых каталогов

Создадим простой скрипт, который будет упаковывать в архив важные директории.

  1. Создаём скрипт: bash nano /usr/local/bin/pi_backup.sh

  2. Наполняем его содержимым: ```bash #!/bin/bash # Скрипт резервного копирования ключевых директорий Raspberry Pi

    BACKUP_DIR="/home/pi/backups" SOURCE_DIRS=( "/etc" # Все системные конфиги "/home/pi" # Домашняя директория пользователя "/var/www" # Веб-документы, если есть "/opt" # Установленное вручную ПО )

    Создаём директорию для бэкапов, если её нет

    mkdir -p "$BACKUP_DIR"

    Формируем имя файла с датой

    BACKUP_FILE="$BACKUP_DIR/backup_files_$(date +%Y%m%d_%H%M%S).tar.gz"

    Создаём архив, исключая временные файлы (например, /tmp внутри директорий)

    tar -czf "$BACKUP_FILE" --exclude='.log' --exclude='.tmp' --exclude='*.cache' "${SOURCE_DIRS[@]}" 2>/dev/null

    Проверяем успешность создания архива

    if [ $? -eq 0 ]; then echo "[SUCCESS] Backup created: $BACKUP_FILE" # Опционально: удаляем архивы старше 7 дней find "$BACKUP_DIR" -name "backup_files_*.tar.gz" -mtime +7 -delete else echo "[ERROR] Backup failed!" >&2 exit 1 fi `` **Важно:** Добавьте вSOURCE_DIRSпути к вашим критичным данным. Например, если у вас стоит [Pi-hole](/pi-hole-unbound-vash-privatnyy-dns-server-s-blokirovkoy-reklamy), добавьте/etc/pihole`.

  3. Делаем скрипт исполняемым и тестируем: bash sudo chmod +x /usr/local/bin/pi_backup.sh sudo /usr/local/bin/pi_backup.sh ls -la /home/pi/backups/

Сценарий 2: Резервная копия списка установленного ПО

Это спасёт, если нужно воссоздать окружение на чистой системе.

# Сохраняем список всех явно установленных пакетов (apt)
dpkg --get-selections > /home/pi/backups/installed_packages_$(date +%Y%m%d).list

# Для pip (Python)
pip3 freeze > /home/pi/backups/python_packages_$(date +%Y%m%d).txt

Сценарий 3: Автоматизация через Cron

Чтобы скрипт запускался автоматически, добавим задание в планировщик Cron.

crontab -e

Добавим строку для запуска ежедневно в 2 ночи:

0 2 * * * /usr/local/bin/pi_backup.sh >> /var/log/pi_backup.log 2>&1

Куда сохранять бэкапы? Стратегия 3-2-1

Хранить бэкап на той же SD-карте — бессмысленно. Нужна отдельная физическая среда.

  1. Внешний USB-накопитель, подключённый к Raspberry Pi. Скрипты можно модифицировать для сохранения прямо на него.
  2. Сетевые хранилища (NAS) или другой компьютер в локальной сети. Используйте rsync или scp. bash # Пример копирования архива на удалённый сервер по SSH scp /home/pi/backups/backup_files_*.tar.gz user@remote_server_ip:/path/to/backup_folder/
  3. Облачные хранилища (Yandex Disk, Google Drive, S3). Для этого есть инструменты вроде rclone. Важно: если бэкап содержит конфиги с паролями, шифруйте его перед загрузкой. bash # Пример создания зашифрованного архива с помощью gpg tar -czf - /etc /home/pi | gpg -c --cipher-algo AES256 -o backup_encrypted.tar.gz.gpg # Запрос пароля будет выведен в консоль

Правило 3-2-1: 3 копии данных, на 2 разных типах носителей, 1 копия — в другом географическом месте (например, облако).

Восстановление из бэкапа: момент истины

Восстановление полного образа на новую SD-карту

Это обратная операция к dd. ВСЕ ДАННЫЕ НА КАРТЕ БУДУТ УДАЛЕНЫ.

# Развертывание образа. Будьте внимательны с выбором of=!
sudo dd if=~/raspberry_pi_backup_YYYYMMDD.img of=/dev/sdX bs=4M status=progress
# Или для сжатого образа
gunzip -c ~/raspberry_pi_backup_YYYYMMDD.img.gz | sudo dd of=/dev/sdX bs=4M status=progress

После этого карту можно вставлять в Raspberry Pi — система загрузится в том состоянии, в котором был сделан образ.

Восстановление из файлового архива

Допустим, вы установили свежую Raspberry Pi OS. Теперь нужно развернуть данные. 1. Скопируйте архив backup_files_*.tar.gz на новую систему. 2. Распакуйте его с опцией --keep-old-files, чтобы не перезаписать свежие системные конфиги без спроса. bash sudo tar -xzvf backup_files_YYYYMMDD.tar.gz -C / --keep-old-files 3. Установите недостающие пакеты из сохранённого списка: bash sudo dpkg --set-selections < installed_packages_YYYYMMDD.list sudo apt-get dselect-upgrade

Типичные ошибки и как их избежать

  1. «Бэкап есть, но он не тестировался». Периодически проверяйте целостность архивов (tar -tzf file.tar.gz) и пробуйте восстановить систему на виртуальной машине или запасной карте.
  2. Копирование открытых файлов баз данных. Если вы просто скопируете файлы SQLite или InfluxDB, пока они работают, бэкап может быть битым. Используйте встроенные утилиты дампа (sqlite3 .dump, influxd backup).
  3. Отсутствие ротации. Диск, куда вы сохраняете бэкапы, рано или поздно заполнится. Настройте автоматическое удаление старых копий (см. find ... -mtime +N -delete в скрипте выше).
  4. Игнорирование конфигов Docker. Если используете контейнеры, бэкапируйте не только volumes, но и ваши docker-compose.yml файлы.

Заключение: начните сегодня

Резервное копирование — это не разовое мероприятие, а процесс. Настройте хотя бы простой скрипт, который раз в день упаковывает /etc и /home/pi и скидывает архив на флешку. Это займёт 30 минут сегодня, но сэкономит десятки часов завтра.

Особенно это критично для систем, которые становятся «мозгом» вашей инфраструктуры — будь то умный дом на Home Assistant или ваш личный VPN-шлюз на WireGuard. Их стабильность начинается с надёжного бэкапа.

Сделайте первый бэкап прямо сейчас. Пока не стало поздно.

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Прокомментировать
Кликните на изображение чтобы обновить код, если он неразборчив
Продлеваем жизнь SD-карте в Raspberry Pi: полное руководство по выживанию
Raspberry Pi
01.09.2026
Продлеваем жизнь SD-карте в Raspberry Pi: полное руководство по выживанию
Узнайте, как продлить жизнь SD-карте в Raspberry Pi: отключение журнала, перенос логов в RAM, настройка свопа и Docker. Практические советы и команды.
Raspberry Pi как домашний сервер: что на нём можно запустить в 2024
Raspberry Pi
31.03.2026
Raspberry Pi как домашний сервер: что на нём можно запустить в 2024
Подробное руководство по настройке Raspberry Pi как домашнего сервера в 2024. Установите Pi-hole, Home Assistant, Nextcloud, VPN и другие сервисы через Docker.
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Raspberry Pi
31.03.2026
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Пошаговое руководство по настройке Raspberry Pi без монитора и клавиатуры. Узнайте, как включить SSH, подключиться к сети и управлять Pi удалённо для DIY-проектов и
Nextcloud на Raspberry Pi: строим личное облако вместо Google Drive
Raspberry Pi
31.03.2026
Nextcloud на Raspberry Pi: строим личное облако вместо Google Drive
Пошаговая инструкция: как установить и настроить Nextcloud на Raspberry Pi вместо Google Drive. Создайте своё безопасное облако для файлов, календаря и контактов.
Ретро-игровая консоль на Raspberry Pi: Полное руководство по установке и настройке RetroPie
Raspberry Pi
31.03.2026
Ретро-игровая консоль на Raspberry Pi: Полное руководство по установке и настройке RetroPie
Подробное руководство по сборке ретро-игровой консоли на Raspberry Pi с RetroPie. Установка, настройка эмуляторов, добавление игр, решение проблем. Создайте свою
Raspberry Pi NAS: Собираем домашнее сетевое хранилище на OpenMediaVault
Raspberry Pi
31.03.2026
Raspberry Pi NAS: Собираем домашнее сетевое хранилище на OpenMediaVault
Пошаговое руководство по сборке тихого и энергоэффективного NAS на Raspberry Pi с OpenMediaVault. Настройка дисков, общих папок SMB и проверка скорости за 1 час.

Войдите в аккаунт, чтобы пользоваться закладками, сообщениями и другими возможностями сайта.