projects:linux:backups
Это старая версия документа!
Создание резервной копии SD карты
Основной скрипт
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
—
📝 Замечания
- Поддерживает
shrink
(сокращение размера img за счет удаления пространства без данных) через встроенныйpishrink.sh
, загружаемый при необходимости. - Все параметры можно комбинировать.
- Подходит для cron, systemd, ручных задач и GUI-обёрток.
1)
KEEP_COUNT + 1
projects/linux/backups.1743282779.txt.gz · Последнее изменение: 2025/03/30 00:12 —