ГлавнаяОперационные системыLinuxКак сделать резервную копию вашего Raspberry Pi

Как сделать резервную копию вашего Raspberry Pi

Резервное копирование Raspberry Pi не должно быть сложным. Хотя существует множество сложных решений резервного копирования, иногда самый простой подход является наиболее эффективным. В этой статье я покажу вам, как использовать rsync — крошечный, но мощный инструмент командной строки, который идеально подходит для создания надежных локальных резервных копий вашей установки Raspberry Pi.

Почему Rsync — лучший инструмент для резервного копирования вашего Pi

Рсинк (удаленная синхронизация) — это мощный инструмент синхронизации и передачи файлов, предустановленный на Raspberry Pi.

Почему Rsync — лучший инструмент для резервного копирования вашего Pi

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

Мужчина Rsync Малиновый

В основном я использую rsync для резервного копирования важных пользовательских данных на Pi. Например, у меня есть сервер фотогалереи на моем Raspberry Pi , а rsync идеально подходит для хранения резервных копий всех этих ценных изображений на внешнем диске, при этом новые или измененные файлы автоматически обнаруживаются и копируются.

В отличие от инструментов резервного копирования, которые копируют файлы целиком, rsync переносит только измененные части, что значительно ускоряет резервное копирование и снижает износ SD-карты. Его интерфейс командной строки делает его идеальным для автоматизации с помощью заданий cron, а встроенная контрольная сумма обеспечивает целостность резервных копий. Самое приятное то, что легкий характер rsync означает, что он не будет замедлять работу вашего Pi, если в данный момент не запущен процесс резервного копирования, и не будет занимать слишком много места на SD-карте.

По этим причинам rsync — лучшее решение для моих нужд, и я считаю, что это идеальный выбор для многих других пользователей Raspberry Pi, которым нужна надежная и эффективная система резервного копирования.

Использование Rsync для резервного копирования файлов и папок Raspberry Pi

Самый простой способ создать резервную копию каталога — с помощью команды:

rsync -av /source/directory /backup/location

Например, чтобы создать резервную копию моего домашнего каталога на внешнем диске, смонтированном в «/media/backup», я использую команду:

rsync -av --delete /home/david/immich-app /media/backup

для резервного копирования базы данных моей библиотеки фотографий.

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

Вот что делают разные варианты:

  • -aвключает режим архивирования, в котором сохраняются права доступа к файлам, право собственности и временные метки.
  • -vпредоставляет подробный вывод, чтобы я мог видеть, что копируется.
  • --deleteудаляет файлы из резервной копии, которые больше не существуют в источнике.

Примечание. Вы также должны знать, что rsync особенно важен для конечных косых черт в путях. Косая черта в конце исходного кода означает «копировать содержимое этого каталога», а не сам каталог. Например, rsync -av --delete /home/pi/folder /media/backupкопирует содержимое «папки» непосредственно в «резервную копию», а отсутствие косой черты копирует сам каталог «папки» в «резервную копию».

Проверьте резервную копию Raspberry Pi

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

Использование Rsync для резервного копирования файлов и папок Raspberry Pi

на как -nили --dry-run. Запуск команды:

rsync -avn --delete /home/pi/folder /media/backup

не должно отображаться никаких файлов, требующих переноса, если ваша резервная копия актуальна.

Пробный прогон резервной копии Rsync Raspberry

Для более тщательной проверки вы можете добавить параметр -cили --checksumв команду rsync. Хотя это и медленнее, чем сравнение временных меток и размеров по умолчанию, оно гарантирует, что каждый файл в исходном и резервном копиях полностью идентичен на вычисление контрольных сумм . Просто запустите:

rsync -avc --delete /home/pi/folder /media/backup

Самый подробный способ проверить резервную копию — использовать команду diff, которая сравнивает каждый файл и каталог между исходным расположением и расположением резервной копии. Чтобы выполнить эту проверку, используйте:

diff -r /home/pi/folder /media/backup/folder

Опция -rуказывает diff рекурсивно проверять все подкаталоги. Если команда не выдает никаких результатов, это означает, что ваша резервная копия идентична исходной. Если есть различия, diffпокажет вам, какие именно файлы отличаются или отсутствуют.

Создание полных резервных копий Raspberry Pi с помощью Rsync

В некоторых ситуациях может быть удобнее и безопаснее создать резервную копию всей SD-карты Raspberry Pi, а не только нескольких важных папок.

Чтобы создать полные резервные копии Raspberry Pi с помощью rsync, вам понадобится место назначения резервной копии — либо другая SD-карта, либо внешний диск, на котором достаточно места для хранения всей вашей системы. Диск резервного копирования должен быть отформатирован в файловой системе, совместимой с Linux, например Проверьте резервную копию Raspberry Piy-sisteme/" title="ext4">ext4 , чтобы правильно сохранить все разрешения и атрибуты файлов.

Самая сложная часть резервного копирования всей системы Raspberry Pi — правильная обработка специальных системных каталогов и файлов. По моему опыту, самое простое решение — исключить системные каталоги, которые либо не нуждаются в резервном копировании, либо могут вызвать проблемы при восстановлении. Создайте файл с именем «backup-exclude.txt» и добавьте следующие системные каталоги, которые следует исключить из резервной копии:

  • /proc/* # Информация о процессе выполнения
  • /sys/* # Информация о ядре и системе
  • /dev/* # Файлы устройства
  • /tmp/* # Временные файлы
  • /run/* # Данные времени выполнения
  • /mnt/* # точки монтирования
  • /media/* # Съемный носитель
  • /home/pi/.cache/* # Файлы пользовательского кэша
  • /lost+found # Каталог восстановления файловой системы

При наличии этих исключений вы можете закрыть столько запущенных приложений, сколько сможете, а затем выполнить следующую команду резервного копирования:

sudo rsync -avxhP --delete --exclude-from=/home/pi/backup-exclude.txt / /media/backup/rootfs/

Опция -xне позволяет rsync пересекать границы файловой системы, что может вызвать проблемы с системными каталогами. Параметр -hпозволяет rsync отображать размеры файлов и скорость передачи в удобочитаемом формате.

Автоматизация резервного копирования rsync

Хотя полные резервные копии, созданные вручную, полезны, я предпочитаю автоматизировать их с помощью встроенного в Linux планировщик cron . Чтобы это настроить, создайте файл «backup-pi.sh» в своем домашнем каталоге со следующим содержимым:

#!/bin/bash
BACKUP_DRIVE="/media/backup"
LOG_FILE="/home/pi/backup-log.txt"
 
# Check if backup drive is mounted
if ! mountpoint -q $BACKUP_DRIVE; then
    echo "Backup drive not mounted at $BACKUP_DRIVE" >> $LOG_FILE
    exit 1
fi
 
# Create timestamp for logging
date >> $LOG_FILE
 
# Run backup with error checking
sudo rsync -avxhP --delete \
    --exclude-from=/home/pi/backup-exclude.txt \
    / $BACKUP_DRIVE/rootfs/Создание полных резервных копий Raspberry Pi с помощью Rsync>&1
 
# Record backup completion
echo "Backup finished at $(date)" >> $LOG_FILE
echo "-------------------" >> $LOG_FILE

Сделайте скрипт исполняемым с помощью chmod +x backup-pi.sh, затем запланируйте его выполнение с помощью cron. Введите crontab -eи добавьте эту строку, чтобы резервное копирование запускалось ежедневно в полночь:

0 0 * * * /home/pi/backup-pi.sh
Крон Raspberry Резервное копирование

Восстановление резервных копий Rsync Raspberry Pi

Процесс восстановления отдельных файлов или каталогов прост. Просто поменяйте местами источник и место назначения в команде rsync. Например, чтобы восстановить библиотеку фотографий из резервной копии:

rsync -av /media/backup/home/david/immich-app/ /home/david/immich-app/

Для полного восстановления системы сначала потребуется новая установка ОС Raspberry Pi на SD-карту. Начните с установки новой копии ОС Raspberry Pi на новую SD-карту. Как только это будет сделано, загрузите Pi с новой SD-картой и завершите процесс первоначальной настройки. Затем подключите резервный диск к вашему Pi. Когда все подключено и смонтировано правильно, вы можете восстановить резервную копию с помощью команды rsync:

sudo rsync -avxhP /media/backup/rootfs/ /

После завершения восстановления я рекомендую перезагрузить Pi, чтобы проверить, правильно ли загружены все восстановленные файлы. Вам также следует убедиться, что ваши важные службы и конфигурации работают должным образом.

Если некоторые приложения не работают после восстановления, проверьте их файлы журналов (обычно в /var/log/) на наличие ошибок, связанных с разрешениями. Возможно, вам придется запустить:

sudo chown -R $USER:$USER /home/$USER

чтобы исправить право собственности на файлы вашего домашнего каталога. Как видите, восстановить с помощью rsync так же просто, как создать резервные копии — просто поменяйте местами пути источника и назначения в своих командах.

Хотя я предпочитаю простоту командной строки rsync, есть несколько отличных альтернатив с графическим интерфейсом, если вам не нравится терминал. Например, Синхронизация позволяет синхронизировать несколько папок в разных системах, а Сдвиг во времени предлагает функцию моментального снимка системы с понятным интерфейсом. Какой бы инструмент вы ни выбрали, важно регулярно создавать резервные копии вашег

Автоматизация резервного копирования rsync

конфигурации системы.

Восстановление резервных копий Rsync Raspberry Pi

ПОХОЖИЕ СТАТЬИ

Популярные записи