d17ec7e08441bee5299b1f7a5cb075ea781b0447
OpenWrt Backup Manager (APK Version)
Автономный набор скриптов для бэкапа и восстановления конфигурации и пакетов на OpenWrt.
Возможности
Бэкап
- системных конфигов
- пользовательских файлов
- списка установленных пакетов (
apk)
Восстановление
- конфигурации через sysupgrade
- пакетов из сохранённого списка
Поддержка удалённого хранилища
NFSSMB
Очистка старых бэкапов (локально и удалённо)
Структура
.
├── .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
Далее интерактивно:
- Выбор источника (локальный / удалённый)
- Выбор типа:
- конфигурация
- пакеты
Как работает бэкап пакетов
Скрипт:
- определяет пакеты, установленные пользователем
- исключает зависимости
Зависимости
Для 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
Languages
Shell
100%