بکاپ و ریستور
پشتیبانگیری و ریستور با phpMyAdmin
از مسیر پنل مدیریت → 📦 بکاپ ربات میتوانید بکاپ بگیرید و فاصلهٔ بکاپ خودکار را تنظیم کنید. فایل بکاپ به کانال 🗄 بکاپ ربات ارسال میشود؛ این کانال را از مدیریت لاگها ست کنید.
نکته مهم درباره بکاپ و ریستور
وقتی از داخل ربات بکاپ میگیرید، فقط از دیتابیس و فایل .env بکاپ گرفته میشود.
برای ریستور بکاپ:
- اول ربات را روی سرور جدید نصب کنید.
- بعد فایل SQL داخل ZIP را از طریق phpMyAdmin ایمپورت کنید.
- مقدار
CRYPTO_KEYرا از فایل.envداخل بکاپ، دقیقاً روی.envسرور جدید بگذارید.
اگر CRYPTO_KEY را عوض نکنید، پسورد پنلها و نمایندگیها درست خوانده نمیشود و بعداً به مشکل میخورید.
بکاپ شامل چیست؟
داخل فایل ZIP معمولاً این دو فایل هست:
| فایل | محتوا |
|---|---|
database.sql | دامپ کامل دیتابیس MariaDB |
.env | متغیرهای محیطی نصب قبلی (از جمله CRYPTO_KEY) |
داخل بکاپ نیست: سشن تلگرام، فایلهای سفارشی خارج از دیتابیس، داده Redis، و خود پنل پاسارگارد روی سرور دیگر.
گرفتن بکاپ
پیشنیاز
از 📝 مدیریت لاگها کانال 🗄 بکاپ ربات را ست کنید. بدون این کانال، بکاپ ساخته/ارسال نمیشود. جزئیات: مدیریت لاگها.
بکاپ همین الان
- وارد پنل مدیریت شوید.
- 📦 بکاپ ربات را بزنید.
- 🚀 بکاپ همین الان را انتخاب کنید.
- فایل ZIP در کانال بکاپ ارسال میشود (مثلاً
pasarguardbot-backup-YYYYMMDD-HHMMSS.zip).
بکاپ خودکار
از همان منو ⚙️ تنظیم فاصله را بزنید و تعداد ساعت را بفرستید (مثلاً 24). عدد 0 بکاپ خودکار را خاموش میکند.
ریستور — راهنمای مو به مو
ترتیب درست این است: نصب تازه → ست کردن CRYPTO_KEY → ایمپورت SQL → ریاستارت.
مرحله ۱ — نصب ربات روی سرور جدید
طبق راهنمای نصب ربات را نصب کنید تا MariaDB، phpMyAdmin و خود ربات بالا بیایند.
همان BOT_TOKEN و ADMIN_ID قبلی را وارد کنید تا همان ربات تلگرام وصل شود.
بعد از نصب، از منوی سرور گزینهٔ 8) Show webhook & URLs را بزنید و آدرسها را یادداشت کنید.
مرحله ۲ — آمادهسازی فایل بکاپ
- ZIP بکاپ را از کانال دانلود کنید.
- آن را Extract کنید تا این دو فایل را ببینید:
database.sql.env
مرحله ۳ — ست کردن CRYPTO_KEY (خیلی مهم)
روی سرور جدید، .env تازه ساخته شده را باز کنید:
pasarguardbotسپس گزینهٔ 5) Edit .env file را بزنید.
داخل .env سرور جدید این خط را پیدا کنید:
CRYPTO_KEY=...مقدارش را پاک کنید و مقدار CRYPTO_KEY فایل .env داخل بکاپ را دقیقاً جای آن بگذارید. بعد ذخیره کنید.
کل .env بکاپ را جایگزین نکنید
فقط CRYPTO_KEY را از بکاپ کپی کنید.
آدرس دیتابیس و Redis در نصب جدید درست است (mariadb:3306 در Docker و غیره). اگر کل .env قدیمی را جایگزین کنید، اتصال دیتابیس/Redis ممکن است خراب شود.
مرحله ۴ — پیدا کردن آدرس و رمز phpMyAdmin
آدرس
از منو گزینهٔ 8) Show webhook & URLs:
http://IP_سرور:6163اگر دامنه دارید، همان دامنه را بهجای IP بگذارید. جزئیات پورتها: پورتها.
یوزر و رمز دیتابیس
رمزها داخل .env سرور جدید هستند (همان فایل گزینهٔ ۵):
| متغیر | کاربرد |
|---|---|
MARIADB_USER | معمولاً pasarguardbot |
MARIADB_PASSWORD | رمز ورود عادی phpMyAdmin |
MARIADB_ROOT_PASSWORD | رمز کاربر root |
MARIADB_DATABASE | معمولاً pasarguardbot |
برای ورود به phpMyAdmin معمولاً کافی است:
- Username:
pasarguardbot - Password: مقدار
MARIADB_PASSWORD
اگر با این یوزر مشکل داشتید، با root و MARIADB_ROOT_PASSWORD وارد شوید.
این رمزها موقع نصب هم یکبار در ترمینال چاپ میشوند؛ اگر از دست رفتند، فقط از .env بخوانید.
مرحله ۵ — بالا آوردن سرویسها
اگر بعد از نصب همه چیز بالا است، نیازی به کار اضافه نیست. در غیر این صورت:
pasarguardbotگزینهٔ 6) Full restart را بزنید. برای وضعیت:
7) Service status
باید MariaDB و phpMyAdmin فعال باشند تا ایمپورت ممکن شود.
مرحله ۶ — ایمپورت database.sql در phpMyAdmin
- در مرورگر باز کنید:
http://IP_سرور:6163 - با یوزر/رمز مرحله ۴ وارد شوید.
- از ستون چپ دیتابیس
pasarguardbotرا انتخاب کنید. - چون نصب تازه جدولهای خالی ساخته، قبل از ایمپورت آنها را پاک کنید:
- تب Structure (ساختار)
- پایین صفحه Check all (انتخاب همه)
- از لیست عملیات Drop را بزنید و تأیید کنید
تا هیچ جدولی نماند.
- تب Import (درونریزی / وارد کردن) را باز کنید.
- Choose File / انتخاب فایل را بزنید و فایل
database.sqlرا انتخاب کنید. - بقیه تنظیمات را پیشفرض بگذارید و Go / اجرا را بزنید.
- صبر کنید تا پیام موفقیت بیاید (اگر فایل بزرگ است ممکن است چند دقیقه طول بکشد).
اگر خطای حجم فایل گرفتید، در phpMyAdmin محدودیت آپلود کم است؛ فایل را فشرده (database.sql.gz اگر ساختید) امتحان کنید یا از پشتیبانی هاست/سرور upload_max_filesize را بالا ببرید. برای اکثر بکاپهای ربات همان آپلود عادی کافی است.
مرحله ۷ — ریاستارت نهایی ربات
بعد از ایمپورت و ست شدن CRYPTO_KEY:
pasarguardbotگزینهٔ 6) Full restart را بزنید تا ربات با دیتابیس ریستورشده و کلید رمزنگاری درست بالا بیاید.
مرحله ۸ — بررسی بعد از ریستور
- در تلگرام به ربات
/startیا/panelبدهید و پنل مدیریت باز شود. - از منوی پنلها وضعیت اتصال پنلها را چک کنید.
- اگر نمایندگی دارید، نمایش رمز/ورود نمایندگی را یکبار تست کنید.
- اگر IP یا دامنه سرور عوض شده، وبهوک پنل پاسارگارد را با خروجی گزینهٔ
8دوباره ست کنید. راهنما: نصب.
چکلیست سریع ریستور
- نصب تازه روی سرور جدید
- Extract کردن ZIP بکاپ
- کپی دقیق
CRYPTO_KEYاز.envبکاپ روی.envجدید - ورود به phpMyAdmin با رمز داخل
.envجدید - Drop کردن جدولهای دیتابیس
pasarguardbot - Import کردن
database.sql - Full restart از منوی
pasarguardbot - تست پنلها / نمایندگیها و در صورت نیاز ست مجدد وبهوک
اشتباهات رایج
| اشتباه | نتیجه |
|---|---|
عوض نکردن CRYPTO_KEY | پسورد پنل و نمایندگی رمزگشایی نمیشود |
جایگزین کردن کل .env قدیمی | اتصال DB/Redis روی نصب جدید میشکند |
| ایمپورت بدون Drop جدولهای قبلی | تداخل جدول / خطای Import |
| ایمپورت قبل از نصب ربات | phpMyAdmin و دیتابیس هنوز وجود ندارند |
فراموش کردن ریاستارت بعد از تغییر .env | ربات با کلید/تنظیمات قدیمی بالا میماند |
آموزشهای ویدیویی «Import SQL در phpMyAdmin» زیاد است؛ اگر اولین بار است، قبل از کار روی سرور اصلی یکبار با یک فایل تست تمرین کنید.