-
Notifications
You must be signed in to change notification settings - Fork 105
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
70 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 необходимо выполнить его заново, так как процессы резервного копирования различаются. | ||
::: |