docs: update_readme
This commit is contained in:
@@ -1,2 +1,158 @@
|
||||
# backup-manager
|
||||
# OpenWrt Backup Manager
|
||||
|
||||
Автономный набор скриптов для бэкапа и восстановления конфигурации и пакетов на OpenWrt.
|
||||
|
||||
## Возможности
|
||||
|
||||
#### Бэкап
|
||||
|
||||
- системных конфигов
|
||||
- пользовательских файлов
|
||||
- списка установленных пакетов (opkg)
|
||||
|
||||
#### Восстановление
|
||||
|
||||
- конфигурации через sysupgrade
|
||||
- пакетов из сохранённого списка
|
||||
|
||||
#### Поддержка удалённого хранилища
|
||||
|
||||
- NFS
|
||||
- SMB (CIFS)
|
||||
|
||||
#### Очистка старых бэкапов (локально и удалённо)
|
||||
|
||||
## Структура
|
||||
|
||||
```bash
|
||||
.
|
||||
├── backup-manager.sh # основной скрипт
|
||||
├── backup-configs.sh # сбор конфигураций
|
||||
├── backup-opkg.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
|
||||
```
|
||||
Reference in New Issue
Block a user