Files
backup-manager/README.md
T
2026-04-13 15:07:22 +04:00

157 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OpenWrt Backup Manager
Автономный набор скриптов для бэкапа и восстановления конфигурации и пакетов на OpenWrt.
## Возможности
#### Бэкап
- системных конфигов
- пользовательских файлов
- списка установленных пакетов (apk)
#### Восстановление
- конфигурации через sysupgrade
- пакетов из сохранённого списка
#### Поддержка удалённого хранилища
- NFS
- SMB (CIFS)
#### Очистка старых бэкапов (локально и удалённо)
## Структура
```bash
.
├── backup-manager.sh # основной скрипт
├── backup-configs.sh # сбор конфигураций
├── backup-apk.sh # работа с пакетами
├── README.md
```
## Настройка
Отредактируйте переменные в backup-manager.sh:
### Хранилище
```bash
STORAGE_TYPE="nfs" # nfs или smb
S_HOST="nfs.lan"
S_PATH="/mnt/media1/backup"
```
### Для SMB
```bash
SMB_USER="guest"
SMB_PASS="guest"
```
### Политика хранения
```bash
LOCAL_KEEP=10 # сколько хранить локально
HOST_KEEP=30 # сколько дней хранить удалённо
```
### Что бэкапить
```bash
C_LIST="
/etc/config
/etc/xray
/root/.ssh
...
"
```
### Что исключить
```bash
C_EXCLUDE="
/opt/.backup-manager/local_backups
/etc/xray/ipset
"
```
### Конфликтующие пакеты
Удаляются перед восстановлением:
```bash
H_REPLACE="wpad dnsmasq"
```
## Использование
### Создать бэкап
```bash
./backup-manager.sh backup
```
#### Что происходит:
- создаётся архив .tar.gz
- сохраняется список пакетов .lst
- копируется на удалённое хранилище (если доступно)
### Восстановление
```bash
./backup-manager.sh restore
```
#### Далее интерактивно:
1. Выбор источника (локальный / удалённый)
2. Выбор типа:
- конфигурация
- пакеты
## Как работает бэкап пакетов
#### Скрипт:
- определяет пакеты, установленные пользователем
- исключает зависимости
## Зависимости
#### Для NFS
```sh
opkg install kmod-fs-nfs kmod-fs-nfs-v3 kmod-fs-nfs-v4 nfs-utils
```
#### Для SMB
```sh
opkg install kmod-fs-cifs cifs-utils
```
## Особенности
- Используется временная директория: /tmp
- При восстановлении пакетов:
- временно правится DNS (Cloudflare)
- Для восстановления конфигурации используется:
```sh
sysupgrade -r backup.tar.gz
```
## Очистка
#### Автоматически:
- старые локальные бэкапы
- удалённые файлы старше HOST_KEEP дней
## Пример cron
```sh
0 3 * * * /opt/.backup-manager/backup-manager.sh backup
```