Резервное копирование
Создание резервной копии
Заголовок раздела «Создание резервной копии»-
Перейдите в директорию проекта
Окно терминала cd /opt/private-remnawave-telegram-shop-bot -
Создайте бекап базы данных
Окно терминала docker compose exec db pg_dump -U postgres postgres > backup_$(date +%Y%m%d_%H%M%S).sql
Восстановление из резервной копии
Заголовок раздела «Восстановление из резервной копии»-
Остановите бота
Окно терминала docker compose stop bot -
Очистите текущую базу данных
Окно терминала docker compose exec db psql -U postgres -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" -
Восстановите данные из бекапа
Окно терминала docker compose exec -T db psql -U postgres postgres < backup_20251227_141530.sql -
Запустите бота
Окно терминала docker compose up -d
Автоматическое резервное копирование
Заголовок раздела «Автоматическое резервное копирование»Для автоматического создания бекапов по расписанию:
-
Создайте директорию для бекапов
Окно терминала mkdir -p /opt/private-remnawave-telegram-shop-bot/backups -
Создайте скрипт бекапа
Окно терминала nano /opt/private-remnawave-telegram-shop-bot/backup.sh#!/bin/bashBACKUP_DIR="/opt/private-remnawave-telegram-shop-bot/backups"PROJECT_DIR="/opt/private-remnawave-telegram-shop-bot"RETENTION_DAYS=14cd "$PROJECT_DIR"# Создание бекапаdocker compose exec -T db pg_dump -U postgres postgres > "$BACKUP_DIR/backup_$(date +%Y%m%d_%H%M%S).sql"# Удаление старых бекаповfind "$BACKUP_DIR" -name "backup_*.sql" -type f -mtime +$RETENTION_DAYS -delete -
Сделайте скрипт исполняемым
Окно терминала chmod +x /opt/private-remnawave-telegram-shop-bot/backup.sh -
Добавьте задачу в cron
Окно терминала crontab -eДобавьте строку для ежедневного бекапа в 3:00:
0 3 * * * /opt/private-remnawave-telegram-shop-bot/backup.sh
| Параметр | Описание |
|---|---|
BACKUP_DIR | Директория для хранения бекапов |
PROJECT_DIR | Директория проекта с compose.yaml |
RETENTION_DAYS | Количество дней хранения бекапов |
Проверка бекапа
Заголовок раздела «Проверка бекапа»Для проверки целостности бекапа без восстановления:
# Проверка синтаксиса SQLhead -100 backup_20251227_141530.sql
# Проверка размера файлаls -lh backup_20251227_141530.sql