Определи backend
grep -E '^XUI_DB_TYPE=|^XUI_DB_DSN=' /etc/default/x-ui 2>/dev/null
SQLite по умолчанию:
/etc/x-ui/x-ui.db
Backup SQLite
apt install -y sqlite3
mkdir -p /root/3xui-backups
sqlite3 /etc/x-ui/x-ui.db ".backup '/root/3xui-backups/x-ui-$(date +%Y%m%d-%H%M%S).db'"
Backup настроек
tar -czf "/root/3xui-backups/etc-x-ui-$(date +%Y%m%d-%H%M%S).tar.gz" /etc/x-ui /etc/default/x-ui 2>/dev/null
PostgreSQL
```constructor id="3xui-pg-backup" pg_dump "{{POSTGRES_DSN}}" > "/root/3xui-backups/xui-$(date +%Y%m%d-%H%M%S).sql"
### Проверка SQLite backup
```constructor id="3xui-sqlite-integrity-backup"
sqlite3 {{BACKUP_DB}} 'PRAGMA integrity_check;'
Нужно получить:
ok
Восстановление SQLite
systemctl stop x-ui
cp -a /etc/x-ui/x-ui.db "/root/x-ui.db.before-restore-$(date +%s)"
constructor id="3xui-sqlite-restore"
cp -a {{BACKUP_DB}} /etc/x-ui/x-ui.db
systemctl start x-ui
x-ui status | cat
Храни вне VPS
Минимум:
- база;
/etc/x-ui;- reverse proxy config;
- сертификаты;
- список доменов/DNS;
- критичные custom Xray settings.
Backup на том же VPS не спасает от потери самого сервера.