Инструменты пользователя

Инструменты сайта


projects:linux:backups

Создание резервной копии SD карты

Основной скрипт

Скрипт создания резервной копии SD карты на USB носитель

MarkDown

# Скрипт `backup-sd.sh`

Расширенный скрипт резервного копирования SD-карт с поддержкой shrink, сжатия, логирования и CLI-интерфейса. Подходит для автоматизации задач резервного копирования на Raspberry Pi и аналогичных устройствах.

## 📦 Поддерживаемые аргументы

Аргумент Значение / Описание Пример
–comment=… Комментарий для имени файла –comment=«ежедневный»
–compress=gzip Метод сжатия: `gzip`, `xz`, `zstd`, `none` –compress=zstd
–shrink Включить уменьшение образа (shrink) –shrink
–no-shrink Не уменьшать образ –no-shrink
–sha256 Посчитать SHA256 –sha256
–no-sha256 Не считать SHA256 –no-sha256
–device=/dev/… Устройство для копирования –device=/dev/mmcblk0
–source=/path/to.img Использовать готовый `.img`, не делать `dd` –source=/mnt/usb/backup.img
–keep-img Не удалять `.img` после shrink –keep-img
–keep-days=N Удалять копии старше N дней –keep-days=7
–keep-count=N Хранить не более N последних копий –keep-count=3
–log=/path/to.log Путь к лог-файлу –log=/mnt/usb/backup.log
–template=ШАБЛОН Шаблон имени файла: `%DATE%`, `%COMMENT%` –template=«wash_%DATE%_%COMMENT%»
-n, –non-interactive Без меню, полностью через параметры –non-interactive
-y, `–auto-install` Автоустановка зависимостей –auto-install
-h, –help Показать справку –help
–version Показать версию скрипта –version

🧪 Примеры запуска

📦 Съём и сжатие:

./backup-sd.sh --comment="ночной" --compress=zstd --shrink --sha256 --device=/dev/mmcblk0 -n

🗃️ Обработка существующего `.img`, shrink + gzip:

./backup-sd.sh --source=/mnt/usb/old.img --compress=gzip --shrink --comment="старый образ" --keep-img -n

♻️ Просто сжать `.img`, без shrink:

./backup-sd.sh --source=image.img --compress=zstd --no-shrink --comment="просто сжали" -n

📝 Замечания

  1. Поддерживает shrink (сокращение размера img за счет удаления пространства без данных) через встроенный pishrink.sh, загружаемый при необходимости.
  2. Все параметры можно комбинировать.
  3. Подходит для cron, systemd, ручных задач и GUI-обёрток.
projects/linux/backups.txt · Последнее изменение: 2025/03/30 00:17 —

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki