Skip to content

Commit

Permalink
Update backup.md (#70)
Browse files Browse the repository at this point in the history
  • Loading branch information
DigneZzZ authored Dec 3, 2024
1 parent 88b4038 commit e3c0148
Showing 1 changed file with 70 additions and 51 deletions.
121 changes: 70 additions & 51 deletions marzban/ru/examples/backup.md
Original file line number Diff line number Diff line change
@@ -1,99 +1,118 @@
---
title: بک‌آپ اتوماتیک
title: Автоматическое резервное копирование
---

# Резервное копирование

# بک‌آپ گرفتن
С помощью этого руководства вы можете настроить автоматическое резервное копирование необходимых файлов Marzban, которые находятся в каталогах `/opt/marzban/` и `/var/lib/marzban/`. Это поможет избежать проблем при сбоях или переносе панели.

به کمک این آموزش، شما می‌توانید از فایل‌های ضروری مرزبان که در دو مسیر `/opt/marzban/` و `/var/lib/marzban/` قرار دارند بصورت اتوماتیک بک‌آپ بگیرید تا در صورت بروز مشکل یا جا‌به‌جایی پنل به مشکل برنخورید. اسکریپت بک‌آپ اتوماتیک توسط یکی از اعضای کامیونیتی مرزبان توسعه داده شده است.
## Настройка автоматического резервного копирования

### Шаг 1

## راه‌اندازی بک‌آپ اتوماتیک

### مرحه اول

اسکریپت زیر را اجرا کنید.
Выполните следующий скрипт, чтобы установить все команды Marzban:
```bash
bash <(curl -Ls https://github.com/AC-Lover/backup/raw/main/backup.sh)
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install-script
```

### مرحله دوم

سپس از ما توکن ربات را می‌خواهد، شما باید یک ربات از https://t.me/BotFather بسازید و توکن ربات را وارد کنید.
### Шаг 2

### مرحله سوم

سپس از ما یک چت آیدی می‌خواهد و برای دریافت چت‌ آیدی یا کانالی که برای گرفتن بک‌آپ اختصاص داده‌اید، باید یک پیام از خود یا کانال به این ربات https://t.me/userinfobot فوروارد کنید که این ربات چت آیدی را برای شما بفرستد.

### مرحله چهارم
Запустите сервис резервного копирования Marzban с помощью следующей команды:
```bash
marzban backup-service
```

در این مرحله از شما یک کپشن می‌خواهد که می‌توانید خالی بگذارید.
::: tip Совет
Обязательно выполняйте эту команду от имени `root`.
:::

### مرحله پنجم
### Шаг 3

در این مرحله برای تعیین زمانی که ربات بک‌آپ را برای شما بفرستد، باید یک کرون‌جاب وارد کنید که فرمت آن به صورت زیر است:
Скрипт запросит токен бота. Создайте нового бота через [BotFather](https://t.me/BotFather) и введите его токен.

1 0
### Шаг 4

مقدار اول یعنی 0 برای دقیقه و مقدار دوم یعنی 1 برای ساعت است.
Скрипт запросит ID чата. Для его получения пересылайте любое сообщение от себя или из канала, куда будут отправляться резервные копии, боту [UserInfoBot](https://t.me/userinfobot). Он предоставит вам ID чата.

حداقل عدد برای دقیقه 0 و حداکثر 59 است.
### Шаг 5

حداقل عدد برای ساعت 0 و حداکثر 23 است.
На этом этапе установите интервал времени для отправки резервных копий, указав число от `1` до `24`, которое соответствует количеству часов между отправками. Например, введя `2`, вы будете получать резервную копию каждые 2 часа.

برای تنظیم بک‌آپ هر یک دقیقه یک بار هر دو مقدار را 0 وارد کنید.
::: tip Совет
Время отправки резервных копий соответствует времени сервера.
:::

در مثال بالا هر یک ساعت یک بار بکاپ می‌گیرد.
::: tip Совет
Чтобы изменить время отправки, ID чата или удалить сервис резервного копирования, повторно выполните следующую команду:

توجه داشته باشید که بین هر دو مقدار یک فاصله است.
```bash
marzban backup-service
```

### مرحله ششم
Первый вариант позволяет внести изменения, второй — удалить сервис резервного копирования.
:::

در این مرحله از شما می‌پرسد که برای کدام پنل می‌خواهید بک‌آپ تهیه کنید که برای پنل مرزبان مقدار m را وارد کنید.
## Мгновенное резервное копирование

### مرحله هفتم
Если вы уже настроили сервис резервного копирования Marzban, выполните следующую команду, чтобы получить резервную копию прямо сейчас. Она будет отправлена в Telegram-бот, а также сохранена в каталоге `/opt/marzban/backup`. Если сервис не настроен, копия будет сохранена только локально.

در نهایت از شما سوال می‌کند که آیا می‌خواهید کرون‌جاب‌هایی که قبلا برای ربات تعریف کرده‌اید پاک شوند یا خیر؟ اگر می‌خواهید پاک شوند y را وارد کنید، در غیر این صورت n را وارد کنید.
```bash
marzban backup
```

::: warning توجه
اگر همه چیز را درست وارد کرده باشید باید یک بار فایل بک‌آپ برای شما فرستاده شود، در غیر این صورت مشکلی در فرآیند پیش آمده است.
::: tip Совет
Если вы уже создавали мгновенную резервную копию, новая копия заменит предыдущую.
:::

## بازگرداندن بک‌آپ
## Восстановление резервной копии

اگر قصد جا به جا کردن پنل مرزبان را دارید یا به هر دلیلی پنل شما دچار مشکل شده است، به کمک آموزش زیر می‌توانید بک‌آپ خود را بازگردانید که روش آن با توجه به نوع دیتابیس شما متفات است. دیتابیس پنل مرزبان در حالت پیش فرض SQLite می‌باشد، اما اگر آموزش [راه‌اندازی MySQL](https://gozargah.github.io/marzban/examples/mysql) را انجام داده باشید روش بازگرداندن دیتابیس کمی متفاوت است.
Если вам необходимо перенести панель Marzban или устранить сбой, вы можете восстановить резервную копию. Метод восстановления зависит от типа базы данных. По умолчанию используется SQLite, но если вы следовали [инструкции по настройке MySQL](https://gozargah.github.io/marzban/examples/mysql), процесс восстановления будет отличаться.

## بازگرداندن بک‌آپ دیتابیس SQLite
::: tip Совет
Процесс восстановления MariaDB идентичен MySQL.
:::

فایل‌های ضروری مرزبان در دو مسیر `/opt/marzban/` و `/var/lib/marzban/` قرار دارند که در خصوص دیتابیس SQLite لازم است اول مرزبان را روی سرور جدید خود نصب کنید، سپس فقط پوشه‌های مرزبان را در دو مسیر یاد شده جایگزین کنید، بعد مرزبان را با دستور زیر ریستارت کنید تا بک‌آپ شما بازگردانی شود.
## Восстановление резервной копии базы данных SQLite

Файлы Marzban находятся в каталогах `/opt/marzban/` и `/var/lib/marzban/`. Для восстановления:
1. Установите Marzban на новый сервер.
2. Замените файлы в указанных каталогах.
3. Перезапустите Marzban командой:
```bash
marzban restart
```

## بازگرداندن بک‌آپ دیتابیس MySQL
## Восстановление базы данных MySQL через PhpMyAdmin (Метод 1)

برای بازگرداندن بک‌آپ دیتابیس MySQL دقیقا مثل آموزش بالا که برای دیتابیس SQLite توضیح داده شده عمل کنید، با این تفاوت که فایل SQL را باید از طریق پنل مدیریت دیتابیس PhpMyAdmin بازگردانید. اگر پنل مرزبان را روی سرور جدید نصب کرده‌اید، باید ابتدا دیتابیس خود را به MySQL تغییر دهید.
Следуйте инструкции для SQLite, но восстанавливайте файл SQL через PhpMyAdmin. Удалите папку `mysql` в `/var/lib/marzban/mysql`, чтобы она была пересоздана после перезапуска Marzban. Панель PhpMyAdmin доступна по адресу `IP:8010`.

برای این کار پوشه mysql را روی سرور جدید که در `/var/lib/marzban/mysql` قرار دارد پاک کنید تا بعد از ریستارت مرزبان، پوشه و فایل‌های داخل آن دوباره ایجاد شود. سپس به پنل مدیریت دیتابیس PhpMyAdmin بروید که به صورت پیش فرض روی آدرس `IP:8010` در دسترس می‌باشد.

::: tip نکته
برای اینکه پنل مدیریت دیتابیس PhpMyAdmin برای شما در دسترس باشد باید ابتدا طبق آموزش راه‌اندازی MySQL آن را فعال کرده باشید.
::: tip Совет
Для доступа к PhpMyAdmin активируйте MySQL, следуя инструкции.
:::

در منوی سمت چپ صفحه گزینه `marzban` را انتخاب کنید، سپس باکس `Check all` را انتخاب کنید، بعد از قسمت سمت راست آن که `With selected:` نام دارد گزینه `drop` را انتخاب کنید، سپس گزینه `Yes` را بزنید. حالا دیتابیس MySQL خالی شده است و شما می‌توانید فایل بک‌آپ SQL خودتان را بازگردانی کنید.
1. Выберите базу `marzban` в меню слева.
2. Нажмите `Check all`, выберите `drop` и подтвердите.
3. Перейдите в раздел `Import`, выберите файл SQL, нажмите `Import`.
4. После успешного импорта перезапустите Marzban:
```bash
marzban restart
```

از قسمت بالای صفحه روی `Import` بزنید، سپس در قسمت `File to import:` روی بخش `Browse` بزنید و فایل SQL خود را انتخاب کنید، بعد دکمه `Import` را در انتهای صفحه بزنید و چند لحظه صبر کنید. اگر همه چیز را درست انجام داده باشید باید با پیام سبز رنگ `Import has been successfully finished.` مواجه شوید. در نهایت با دستور زیر مرزبان را ریستارت کنید.
## Восстановление базы данных MySQL через терминал (Метод 2)

1. Загрузите SQL-файл на сервер.
2. Выполните команду, заменив переменные `DB_PASSWORD` и `SQL_BACKUP_ADDRESS`:
```bash
docker exec -i marzban-mysql-1 mysql -u root -p"DB_PASSWORD" marzban < "SQL_BACKUP_ADDRESS"
```

3. Перезапустите Marzban:
```bash
marzban restart
```
حالا بک‌آپ شما با موفقیت بازگردانی شده است.

::: tip نکته
اگر فایل SQL را قبل از وارد کردن داخل پنل مدیریت دیتابیس PhpMyAdmin در فایل Zip قرار دهید، سرعت بازگردانی شدن آن بیشتر خواهد بود.
:::
Теперь резервная копия успешно восстановлена.

::: warning توجه
اگر از اسکریپت اتوماتیک بک‌آپ برای دیتابیس SQLite استفاده کردید، بعد از مهاجرت به دیتابیس MySQL باید مجدد اسکریپت را اجرا کنید، چراکه روند بک‌آپ گرفتن این دو دیتابیس با هم تفاوت دارد.
::: warning Внимание
Если вы использовали автоматический скрипт для SQLite, после перехода на MySQL необходимо выполнить его заново, так как процессы резервного копирования различаются.
:::

0 comments on commit e3c0148

Please sign in to comment.