2026-04-14 13:32:53 +04:00
2026-04-14 13:32:39 +04:00
2026-04-14 13:16:43 +04:00
2026-04-13 15:25:28 +04:00
2026-04-13 15:07:22 +04:00
2026-04-14 13:16:43 +04:00
2026-04-14 13:32:53 +04:00

OpenWrt Backup Manager (APK Version)

Автономный набор скриптов для бэкапа и восстановления конфигурации и пакетов на OpenWrt.

Возможности

Бэкап

  • системных конфигов
  • пользовательских файлов
  • списка установленных пакетов (apk)

Восстановление

  • конфигурации через sysupgrade
  • пакетов из сохранённого списка

Поддержка удалённого хранилища

  • NFS
  • SMB

Очистка старых бэкапов (локально и удалённо)

Структура

.
├── .env                # конфиг-файл
├── backup-manager.sh   # основной скрипт
├── backup-configs.sh   # сбор конфигураций
├── backup-apk.sh       # работа с пакетами
├── README.md

Настройка

Скопируйте пример настроек:

cp ./.env-example ./.env

Отредактируйте переменные в .env:

Хранилище

STORAGE_TYPE="nfs"   # nfs или smb
S_HOST="nfs.lan"
S_PATH="/mnt/media1/backup"

Для SMB

SMB_USER="guest"
SMB_PASS="guest"

Политика хранения

LOCAL_KEEP=10   # сколько хранить локально
HOST_KEEP=30    # сколько дней хранить удалённо

Что бэкапить

C_LIST="
/etc/config
/etc/xray
/root/.ssh
...
"

Что исключить

C_EXCLUDE="
/opt/.backup-manager/local_backups
/etc/xray/ipset
"

Конфликтующие пакеты

Удаляются перед восстановлением:

H_REPLACE="wpad dnsmasq"

Использование

Создать бэкап

./backup-manager.sh backup

Что происходит:

  • создаётся архив .tar.gz
  • сохраняется список пакетов .lst
  • копируется на удалённое хранилище (если доступно)

Восстановление

./backup-manager.sh restore

Далее интерактивно:

  1. Выбор источника (локальный / удалённый)
  2. Выбор типа:
    • конфигурация
    • пакеты

Как работает бэкап пакетов

Скрипт:

  • определяет пакеты, установленные пользователем
  • исключает зависимости

Зависимости

Для NFS

apk add nfs-utils kmod-fs-nfs kmod-fs-nfs-v3 kmod-fs-nfs-v4

Для SMB

apk add cifsmount kmod-fs-cifs

Особенности

  • Используется временная директория: /tmp
  • При восстановлении пакетов:
    • временно правится DNS (Cloudflare)
  • Для восстановления конфигурации используется:
sysupgrade -r backup.tar.gz

Очистка

Автоматически:

  • старые локальные бэкапы
  • удалённые файлы старше HOST_KEEP дней

Пример cron

0 3 * * * /opt/.backup-manager/backup-manager.sh backup
S
Description
No description provided
Readme
86 KiB
Languages
Shell 100%