فروشگاه: پشتیبانگیری
پول در پایگاه دادهٔ فروشگاه است و حسابها در پایگاه دادهٔ پنل، پس دو پایگاه داده برای نگه داشتن دارید. پنل از پایگاه دادهٔ خودش پشتیبان میگیرد (پشتیبانگیری و بازیابی)؛ فروشگاه از پایگاه دادهٔ خودش، زیر پشتیبانگیری در بخش مدیریت فروشگاه. این صفحه هر دو طرف را توضیح میدهد: آرشیوهای فروشگاه، و کاری که وقتی پنل بازیابی میشود باید بکنید.
پشتیبان چیست
آرشیوی از پایگاه دادهٔ فروشگاه (یک نسخهٔ سازگار، که در زمان اجرای فروشگاه گرفته میشود) و رسیدهای کارتبهکارت، رمزگذاریشده با کلیدی که فقط شما نگه میدارید.
| تنظیم | پیشفرض | چه میکند |
|---|---|---|
| هر چند ساعت یک بار | 24 | 0 زمانبندی را خاموش میکند. |
| تعداد آرشیوهایی که روی سرور میماند | 7 | قدیمیترها پاک میشوند. |
| یک نسخه بیرون از سرور فرستاده شود | روشن | به چت پشتیبان پنل، یا از راه ربات فروشگاه. |
آرشیوها در data/backups/ به نام shop-<date>-<time>.nxsb نوشته میشوند، و هر کدام از همان صفحه قابل دانلود است. همین حالا پشتیبان بگیر فوراً یکی میگیرد.
نسخهٔ بیرون از سرور به چت تلگرامی میرود که در پنل برای پشتیبانها انتخاب کردهاید (مقصدهای بکاپ)، از راه ربات خود پنل؛ فروشگاه هرگز آن چت را نمیبیند. وقتی این گزینه در پنل خاموش است، نسخه از راه ربات فروشگاه به هر ادمینی که با آن جفت شده میرود. تلگرام فایلها را تا ۵۰ مگابایت میپذیرد: آرشیو بزرگتر روی سرور میماند، و صفحه این را میگوید. نه پنل و نه تلگرام نمیتوانند آرشیو را بخوانند.
روی PostgreSQL پایگاه داده مال شماست و پشتیبانش هم: مثل بقیهٔ آن سرور از pg_dump استفاده کنید. در این حالت آرشیوهای فروشگاه فقط رسیدها را دارند، و این را میگویند.
کلید
نمایش کلید کلیدی را نشان میدهد که همهٔ آرشیوها را باز میکند (nxsb-…). آرشیو فقط با آن باز میشود و با هیچ چیز دیگری. کلید تغییر نمیکند، پس آرشیوی که با آن ساخته شده برای همیشه با آن باز میشود.
کلید را بیرون از این سرور نگه دارید
کلید را جای امنی، دور از سرور فروشگاه، کپی کنید. سروری که از دست برود نسخهٔ کلیدش را هم با خود میبرد، و بدون کلید هیچ آرشیوی قابل بازیابی نیست.
انتقال به سرور تازه
فروشگاه را طبق معمول روی سرور تازه نصب کنید (Nexora Shop)، بعد متوقفش کنید:
systemctl stop nexora-addon-shopیاdocker compose stop shop.یک آرشیو را آنجا کپی کنید و با کلید بازیابیاش کنید:
bashnexora-shop restore -i shop-20261004-120000.nxsb -key nxsb-…با Docker، اول آرشیو را در
data/backups/کپی کنید، بعد:bashdocker compose run --rm shop restore -i /data/backups/shop-….nxsb -key nxsb-…فروشگاه را دوباره اجرا کنید.
بازیابی پیش از دست زدن به هر چیزی کلید را بررسی میکند، و اینکه پایگاه دادهٔ داخل آرشیو مال فروشگاه باشد. آنچه را جایگزین کرده به نام shop.db.before-restore و receipts.before-restore نگه میدارد. کلید اشتباه یا آرشیو خراب هیچ چیزی را تغییر نمیدهد.
ثبت فروشگاه در پنل داخل آرشیو نیست. اگر سرور تازه همان آدرس قبلی را نگه میدارد، data/nexora-credentials.json را هم کپی کنید. وگرنه فروشگاه را در صفحهٔ افزونههای پنل حذف کنید و دوباره ثبتش کنید (دایرکتوری افزونهها).
nexora-shop backup دستی یک آرشیو میگیرد، با همان کلید.
بعد از بازیابی پنل
وقتی پنل از یک پشتیبان بازیابی میشود، حسابهایش همانطورند که آن موقع بودند، و ممکن است آنچه فروشگاه از آن به بعد فروخته در آن نباشد. پنل به فروشگاه خبر میدهد، و فروشگاه هر حسابی را که فروخته با پنل مقایسه میکند.
حسابی که پنل دیگر ندارد، یا تاریخ یا ترافیکش از آنچه آخرین سفارش فروشگاه برایش گذاشته عقبتر است، زیر پشتیبانگیری ← بعد از بازگردانی پنل همراه با سفارشی که هزینهاش را پرداخته فهرست میشود. داشبورد میگوید چندتا باز است.
- هر مورد را باز کنید.
- دستی تسویهاش کنید: حساب را در پنل تمدید کنید، یا سفارش را بازپرداخت کنید.
- آن را رسیدگی شد علامت بزنید.
همین حالا بررسی کن همین بررسی را در هر زمانی اجرا میکند. همین فهرست بازپرداختی را هم نشان میدهد که درگاه بعد از رد کردنش انجام داده، تا تسویهاش کنید (فروشگاه: پرداختها).
