Skip to content

بک‌آپ گرفتن

به کمک این آموزش، شما می‌توانید از فایل‌های ضروری مرزبان که در دو مسیر /opt/marzban/ و /var/lib/marzban/ قرار دارند بصورت اتوماتیک بک‌آپ بگیرید تا در صورت بروز مشکل یا جا‌به‌جایی پنل به مشکل برنخورید. اسکریپت بک‌آپ اتوماتیک توسط یکی از اعضای کامیونیتی مرزبان توسعه داده شده است.

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

مرحه اول

اسکریپت زیر را اجرا کنید.

bash
bash <(curl -Ls https://github.com/AC-Lover/backup/raw/main/backup.sh)

مرحله دوم

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

مرحله سوم

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

مرحله چهارم

در این مرحله از شما یک کپشن می‌خواهد که می‌توانید خالی بگذارید.

مرحله پنجم

در این مرحله برای تعیین زمانی که ربات بک‌آپ را برای شما بفرستد، باید یک کرون‌جاب وارد کنید که فرمت آن به صورت زیر است:

1 0

مقدار اول یعنی 0 برای دقیقه و مقدار دوم یعنی 1 برای ساعت است.

حداقل عدد برای دقیقه 0 و حداکثر 59 است.

حداقل عدد برای ساعت 0 و حداکثر 23 است.

برای تنظیم بک‌آپ هر یک دقیقه یک بار هر دو مقدار را 0 وارد کنید.

در مثال بالا هر یک ساعت یک بار بکاپ می‌گیرد.

توجه داشته باشید که بین هر دو مقدار یک فاصله است.

مرحله ششم

در این مرحله از شما می‌پرسد که برای کدام پنل می‌خواهید بک‌آپ تهیه کنید که برای پنل مرزبان مقدار m را وارد کنید.

مرحله هفتم

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

توجه

اگر همه چیز را درست وارد کرده باشید باید یک بار فایل بک‌آپ برای شما فرستاده شود، در غیر این صورت مشکلی در فرآیند پیش آمده است.

بازگرداندن بک‌آپ

اگر قصد جا به جا کردن پنل مرزبان را دارید یا به هر دلیلی پنل شما دچار مشکل شده است، به کمک آموزش زیر می‌توانید بک‌آپ خود را بازگردانید که روش آن با توجه به نوع دیتابیس شما متفات است. دیتابیس پنل مرزبان در حالت پیش فرض SQLite می‌باشد، اما اگر آموزش راه‌اندازی MySQL را انجام داده باشید روش بازگرداندن دیتابیس کمی متفاوت است.

بازگرداندن بک‌آپ دیتابیس SQLite

فایل‌های ضروری مرزبان در دو مسیر /opt/marzban/ و /var/lib/marzban/ قرار دارند که در خصوص دیتابیس SQLite لازم است اول مرزبان را روی سرور جدید خود نصب کنید، سپس فقط پوشه‌های مرزبان را در دو مسیر یاد شده جایگزین کنید، بعد مرزبان را با دستور زیر ریستارت کنید تا بک‌آپ شما بازگردانی شود.

bash
marzban restart

بازگرداندن بک‌آپ دیتابیس MySQL

برای بازگرداندن بک‌آپ دیتابیس MySQL دقیقا مثل آموزش بالا که برای دیتابیس SQLite توضیح داده شده عمل کنید، با این تفاوت که فایل SQL را باید از طریق پنل مدیریت دیتابیس PhpMyAdmin بازگردانید. اگر پنل مرزبان را روی سرور جدید نصب کرده‌اید، باید ابتدا دیتابیس خود را به MySQL تغییر دهید.

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

نکته

برای اینکه پنل مدیریت دیتابیس PhpMyAdmin برای شما در دسترس باشد باید ابتدا طبق آموزش راه‌اندازی MySQL آن را فعال کرده باشید.

در منوی سمت چپ صفحه گزینه marzban را انتخاب کنید، سپس باکس Check all را انتخاب کنید، بعد از قسمت سمت راست آن که With selected: نام دارد گزینه drop را انتخاب کنید، سپس گزینه Yes را بزنید. حالا دیتابیس MySQL خالی شده است و شما می‌توانید فایل بک‌آپ SQL خودتان را بازگردانی کنید.

از قسمت بالای صفحه روی Import بزنید، سپس در قسمت File to import: روی بخش Browse بزنید و فایل SQL خود را انتخاب کنید، بعد دکمه Import را در انتهای صفحه بزنید و چند لحظه صبر کنید. اگر همه چیز را درست انجام داده باشید باید با پیام سبز رنگ Import has been successfully finished. مواجه شوید. در نهایت با دستور زیر مرزبان را ریستارت کنید.

bash
marzban restart

حالا بک‌آپ شما با موفقیت بازگردانی شده است.

نکته

اگر فایل SQL را قبل از وارد کردن داخل پنل مدیریت دیتابیس PhpMyAdmin در فایل Zip قرار دهید، سرعت بازگردانی شدن آن بیشتر خواهد بود.

توجه

اگر از اسکریپت اتوماتیک بک‌آپ برای دیتابیس SQLite استفاده کردید، بعد از مهاجرت به دیتابیس MySQL باید مجدد اسکریپت را اجرا کنید، چراکه روند بک‌آپ گرفتن این دو دیتابیس با هم تفاوت دارد.

Released under AGPL-3.0 License.