From 6d16f11007ae81130f24636299139ffb0db43689 Mon Sep 17 00:00:00 2001 From: pyrschtjag Date: Sat, 4 Apr 2026 02:43:31 +0400 Subject: [PATCH] docs: update_readme --- README.md | 158 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 157 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 494df03..4d88d82 100644 --- a/README.md +++ b/README.md @@ -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 +``` \ No newline at end of file