فارسی
بکآپ و ریستور
بکآپ همان یک چیزی است که دوباره ساخته نمیشود: کلیدهای خصوصی اینترفیسها و اعتبار هر مشتری. آنها را از دست بدهی، همهٔ مشتریها باید دوباره صادر شوند. باینری، پکیجها، سرتیفیکیت — همه جایگزینشدنیاند. این نه. با آرشیو مثل فایل رمز رفتار کن.
داخلش چیست
یک .tar.gz که دارد:
wui.db— اسنپشات سازگار SQLite (باVACUUM INTO، نه کپی خامی که وسط نوشتن گرفته شود). فقط در بکآپهای پنل SQLite.wui-export.json— هر جدول بهصورت JSON، از طریق اسکیما. در هر بکآپی، با هر موتوری. این همان کپیای است که از موتور و نسخه عبور میکند: ستونی که پنل جدیدتر اضافه کرده روی پیشفرض میماند، ستونی که حذف کرده نادیده گرفته میشود.- بقیهٔ
/var/lib/wui— PKI و فایلهای سرور OpenVPN، پروفایلهای تولیدشده — بهجز خود بکآپها و فایلهای جانبی WAL.
گرفتن بکآپ
| کجا | چطور |
|---|---|
| پنل | تنظیمات → Backup → Back up now، یا دانلود هر آرشیوِ لیست |
| زمانبندی | تنظیمات → Backup: فاصله و تعداد نگهداری؛ در /var/backups/wui نوشته میشود |
| ترمینال | w-ui backup → ۱، یا wui backup create (با محیط پنل؛ منو خودش میدهد) |
| تلگرام | دستور بکآپ ربات آرشیو را به چت ادمین میفرستد |
| حذف نصب | قبل از حذف هر چیزی، یک کپی آخر در /root/wui-last-copy-<date>.tar.gz نوشته میشود |
ریستور
ریستور هرگز روی دیتای زنده باز نمیشود. آرشیو سر تا ته چک میشود، از آنچه الان هست کپی گرفته میشود، فایلها کنار پوشهٔ دیتا آماده میشوند، و استارت بعدی اعمالشان میکند — تنها لحظهای که هیچکس دیتابیس را باز ندارد.
- از پنل: تنظیمات → Backup → Restore روی یک آرشیو لیست، یا Upload از سرور دیگر. پنل خودش ریاستارت میشود.
- از ترمینال:
w-ui backup→ ۲، مسیر را بده. یاwui backup restore FILEو بعدsystemctl restart wui.
بهطور پیشفرض آدرسهای خودِ این سرور — چیزی که تونلها به مشتری میگویند وصل شود — بهجای آدرسهای آرشیو نگه داشته میشود. دلیل معمول ریستور روی ماشین دیگر این است که اولی رفته، و آدرسش هم با آن. اگر داری یک ماشین را روی دیگری کلون میکنی و آدرسهای آرشیو را میخواهی، --move-addresses در خط فرمان یا چکباکس در پنل.
بین موتورها و نسخهها
| بکآپ از | ریستور در | چه میشود |
|---|---|---|
| SQLite | SQLite | فایل اسنپشات سر جایش برمیگردد — کپی دقیق |
| SQLite | PostgreSQL | دامپ JSON در PostgreSQL بار میشود، آیدیها حفظ، sequenceها جلو برده میشوند |
| PostgreSQL | PostgreSQL | دامپ JSON بار میشود |
| PostgreSQL | SQLite | دامپ JSON در یک فایل SQLite تازه بار میشود |
| W-UI قدیمیتر | جدیدتر | اول اسکیما مهاجرت میکند، بعد دیتا در آن مینشیند |
| W-UI جدیدتر | قدیمیتر | وقتی فرمت دامپ از فهم پنل جدیدتر باشد با پیام روشن رد میشود؛ اول پنل را بهروز کن |
پس انتخاب دیتابیس موقع نصب نهایی نیست: با SQLite نصب کن، و وقتی مشتریها زیاد شدند، بکآپ بگیر، نصاب را با --db postgres دوباره اجرا کن و ریستور کن.
جای چیزها
| مسیر | چه |
|---|---|
/var/backups/wui/ | بکآپهای زمانبندیشده و بکآپهای پنل، با نگهداری؛ بیرون پوشهٔ دیتا تا ریستور رویشان ننویسد و حذف نصب نگهشان دارد |
/var/lib/wui/.restore-pending/ | ریستور آمادهشده؛ در استارت بعدی اعمال و حذف میشود |
/var/lib/wui/.restore-import.json | دامپی منتظر بار شدن، برای ریستور بین موتورها؛ بعد از بار شدن حذف، و اگر نشد با پسوند .failed نگه داشته میشود |
/root/wui-last-copy-*.tar.gz | کپیای که حذف نصب میگذارد |
