Резервное копирование
С помощью этого руководства вы можете настроить автоматическое резервное копирование необходимых файлов Marzban, которые находятся в каталогах /opt/marzban/
и /var/lib/marzban/
. Это поможет избежать проблем при сбоях или переносе панели.
Настройка автоматического резервного копирования
Шаг 1
Выполните следующий скрипт, чтобы установить все команды Marzban:
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install-script
Шаг 2
Запустите сервис резервного копирования Marzban с помощью следующей команды:
marzban backup-service
Совет
Обязательно выполняйте эту команду от имени root
.
Шаг 3
Скрипт запросит токен бота. Создайте нового бота через BotFather и введите его токен.
Шаг 4
Скрипт запросит ID чата. Для его получения пересылайте любое сообщение от себя или из канала, куда будут отправляться резервные копии, боту UserInfoBot. Он предоставит вам ID чата.
Шаг 5
На этом этапе установите интервал времени для отправки резервных копий, указав число от 1
до 24
, которое соответствует количеству часов между отправками. Например, введя 2
, вы будете получать резервную копию каждые 2 часа.
Совет
Время отправки резервных копий соответствует времени сервера.
Совет
Чтобы изменить время отправки, ID чата или удалить сервис резервного копирования, повторно выполните следующую команду:
marzban backup-service
Первый вариант позволяет внести изменения, второй — удалить сервис резервного копирования.
Мгновенное резервное копирование
Если вы уже настроили сервис резервного копирования Marzban, выполните следующую команду, чтобы получить резервную копию прямо сейчас. Она будет отправлена в Telegram-бот, а также сохранена в каталоге /opt/marzban/backup
. Если сервис не настроен, копия будет сохранена только локально.
marzban backup
Совет
Если вы уже создавали мгновенную резервную копию, новая копия заменит предыдущую.
Восстановление резервной копии
Если вам необходимо перенести панель Marzban или устранить сбой, вы можете восстановить резервную копию. Метод восстановления зависит от типа базы данных. По умолчанию используется SQLite, но если вы следовали инструкции по настройке MySQL, процесс восстановления будет отличаться.
Совет
Процесс восстановления MariaDB идентичен MySQL.
Восстановление резервной копии базы данных SQLite
Файлы Marzban находятся в каталогах /opt/marzban/
и /var/lib/marzban/
. Для восстановления:
- Установите Marzban на новый сервер.
- Замените файлы в указанных каталогах.
- Перезапустите Marzban командой:
marzban restart
Восстановление базы данных MySQL через PhpMyAdmin (Метод 1)
Следуйте инструкции для SQLite, но восстанавливайте файл SQL через PhpMyAdmin. Удалите папку mysql
в /var/lib/marzban/mysql
, чтобы она была пересоздана после перезапуска Marzban. Панель PhpMyAdmin доступна по адресу IP:8010
.
Совет
Для доступа к PhpMyAdmin активируйте MySQL, следуя инструкции.
- Выберите базу
marzban
в меню слева. - Нажмите
Check all
, выберитеdrop
и подтвердите. - Перейдите в раздел
Import
, выберите файл SQL, нажмитеImport
. - После успешного импорта перезапустите Marzban:
marzban restart
Восстановление базы данных MySQL через терминал (Метод 2)
- Загрузите SQL-файл на сервер.
- Выполните команду, заменив переменные
DB_PASSWORD
иSQL_BACKUP_ADDRESS
:
docker exec -i marzban-mysql-1 mysql -u root -p"DB_PASSWORD" marzban < "SQL_BACKUP_ADDRESS"
- Перезапустите Marzban:
marzban restart
Теперь резервная копия успешно восстановлена.
Внимание
Если вы использовали автоматический скрипт для SQLite, после перехода на MySQL необходимо выполнить его заново, так как процессы резервного копирования различаются.