mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-10-19 20:35:01 +03:00
9b91f0f42e
Fold the standalone 3x-ui-docs project (Next.js 16 + Fumadocs, deployed to docs.sanaei.dev) into docs/ so the panel and its documentation share a single source of truth, the way sing-box keeps its docs in-tree. The old repo becomes redundant and can be retired. - Import the full site under docs/ (app, components, content, lib, public, scripts, config). The self-contained pnpm project sits alongside the existing engineering notes with no filename collisions. - Re-point "Edit on GitHub" links from MHSanaei/3x-ui-docs to this repo's docs/content/docs path (docs/lib/shared.ts, docs/app/.../page.tsx). - Add docs-ci.yml and docs-deploy.yml under .github/workflows/, scoped to docs/** and run with working-directory: docs, since GitHub only runs workflows from the repo-root .github/. deploy-static.yml's GitHub Pages publish (CNAME docs.sanaei.dev) carries over unchanged. Follow-up (outside this commit): attach the docs.sanaei.dev custom domain to this repository's Pages (or set the Vercel project's root directory to docs), confirm the site is live from the monorepo, then delete MHSanaei/3x-ui-docs.
58 lines
3.5 KiB
Plaintext
58 lines
3.5 KiB
Plaintext
---
|
|
title: پشتیبانگیری و بازیابی
|
|
description: از پایگاهداده و گواهیهای 3x-ui خود بهصورت دستی یا از طریق ربات Telegram پشتیبان بگیرید و آنها را بازیابی کنید.
|
|
icon: DatabaseBackup
|
|
---
|
|
|
|
تمام پیکربندی شما — ورودیها، کلاینتها و تنظیمات — در پایگاهدادهی پنل
|
|
قرار دارد. مرتب از آن پشتیبان بگیرید تا بتوانید بازیابی یا مهاجرت کنید.
|
|
|
|
## از چه چیزی پشتیبان بگیریم
|
|
|
|
- **پایگاهداده** — بهصورت پیشفرض یک SQLite در `/etc/x-ui/x-ui.db` (یا پایگاهدادهی
|
|
PostgreSQL شما اگر از آن backend استفاده میکنید).
|
|
- **گواهیها** — هر چیزی که زیر `/root/cert/` (یا هر جایی که گواهیهای TLS را نگه میدارید)
|
|
قرار دارد.
|
|
|
|
## پشتیبانگیری دستی
|
|
|
|
میتوانید یک نسخهی پشتیبان را از صفحهی نمای کلی پنل دانلود کنید، یا فایل پایگاهداده را
|
|
مستقیماً از سرور کپی نمایید:
|
|
|
|
```bash title="copy the SQLite database"
|
|
cp /etc/x-ui/x-ui.db /root/x-ui-backup-$(date +%F).db
|
|
```
|
|
|
|
برای بازیابی، پنل را متوقف کنید، پایگاهداده را سر جای خود برگردانید و دوباره آن را اجرا کنید.
|
|
|
|
<Callout type="warn">
|
|
هر وقت ممکن است، یک نسخهی پشتیبان را روی **همان نسخهی اصلی (major)** که از آن گرفته شده
|
|
بازیابی کنید. در ارتقاهای میاننسخهای اصلی، بهجای تحمیل یک شِمای قدیمی، بگذارید پنل
|
|
مهاجرتهای خود را اجرا کند.
|
|
</Callout>
|
|
|
|
## پشتیبانگیری با Telegram
|
|
|
|
اگر [ربات Telegram](/docs/operations/telegram-bot) را پیکربندی کردهاید، گزینهی
|
|
**`tgBotBackup`** را فعال کنید تا یک نسخهی پشتیبان به گزارش دورهای ضمیمه شود (بر اساس
|
|
زمانبندی `tgRunTime`، بهصورت پیشفرض روزانه). ربات هم **پایگاهداده** و هم **`config.json`
|
|
مربوط به Xray** را به چت ادمین شما میفرستد، بنابراین همیشه یک نسخهی خارج از سرور در اختیار
|
|
دارید. ادمینها همچنین میتوانند بهصورت درخواستی از منوی ربات یک نسخهی پشتیبان بخواهند.
|
|
|
|
## دامپ / بازیابی SQLite
|
|
|
|
دستور `x-ui migrate-db` پایگاهدادهی SQLite را به یک دامپ متنی SQL ساده و بالعکس تبدیل
|
|
میکند (برای بررسی یا انتقال میان دستگاهها کاربردی است):
|
|
|
|
```bash
|
|
x-ui migrate-db --dump /root/x-ui.sql # SQLite -> SQL text
|
|
x-ui migrate-db --restore /root/x-ui.sql # SQL text -> SQLite
|
|
```
|
|
|
|
برای مهاجرت به PostgreSQL، به [پایگاهداده](/docs/reference/database) مراجعه کنید.
|
|
|
|
<Callout type="info">
|
|
از هر روشی که استفاده میکنید، نسخههای پشتیبان را **خارج از سرور** نگه دارید و هرازگاهی
|
|
یک بازیابی را آزمایش کنید — یک نسخهی پشتیبانِ آزمایشنشده، پشتیبان بهحساب نمیآید.
|
|
</Callout>
|