สำรองและกู้คืน
คู่มือนี้ครอบคลุมห้าสิ่งที่ผู้คนทำจริงกับข้อมูลสำรอง: จับสแนปช็อตหนึ่งชุด เก็บสำเนาไว้ ย้ายเวิร์กสเปซ กู้คืนกลับ และเก็บสำเนาไว้นอกเครื่อง สำหรับรูปร่างที่แน่นอนของ ทุกอาร์ติแฟกต์และการดำเนินการ โปรดดู เอกสารอ้างอิงการสำรองข้อมูล
ทุกอย่างในที่นี้อยู่ที่ การตั้งค่า → เซิร์ฟเวอร์ → สำรองและกู้คืน
สิ่งที่ต้องมีก่อน
หัวข้อที่มีชื่อว่า “สิ่งที่ต้องมีก่อน”- ไคลเอนต์แบบเต็ม — แอปเดสก์ท็อปหรือเว็บ โทรศัพท์ที่จับคู่แล้วทำสิ่งใดในนี้ไม่ได้เลย โดยเจตนาออกแบบไว้เช่นนั้น
- การสร้าง แสดงรายการ ดาวน์โหลด หรือลบ สแนปช็อตการติดตั้ง: ต้องเป็น เจ้าของ ของการติดตั้ง
- สำหรับการดำเนินการต่อเวิร์กสเปซ: ต้องเป็น แอดมิน ของเวิร์กสเปซนั้นเพื่อส่งออก และเป็น เจ้าของ เพื่อนำเข้าหรือลบ
- สำหรับการดาวน์โหลดและอัปโหลด: ต้องมีการเชื่อมต่อแบบโดยตรงกับเซิร์ฟเวอร์ รีเลย์ที่โบรกเกอร์ไว้จะรับส่งเฟรม RPC ไม่ใช่การโอนไฟล์ และตัวควบคุมการโอนจะปิดใช้งานตัวเองพร้อมข้อความแจ้งเมื่อคุณเชื่อมต่อผ่านรีเลย์
ข้อมูลสำรองครอบคลุมอะไรบ้าง
หัวข้อที่มีชื่อว่า “ข้อมูลสำรองครอบคลุมอะไรบ้าง”อาร์ติแฟกต์ทั้งสองเป็นฐานข้อมูลเท่านั้น:
- สแนปช็อตการติดตั้ง คือไดเรกทอรีที่ตั้งชื่อตามเวลา:
manifest.json,global.dbและ<workspaceId>/workspace.dbหนึ่งไฟล์ต่อเวิร์กสเปซหนึ่งตัว - การส่งออกเวิร์กสเปซ คือไฟล์
workspace.dbไฟล์เดียวนั้น
ทั้งสองไม่ได้พาส่วนที่เหลือของไดเรกทอรีข้อมูลไปด้วย: secrets.json (คีย์จับคู่อุปกรณ์
ข้อมูลรับรองของผู้ให้บริการ, SSO), blobs/ ของเวิร์กสเปซ (รูปภาพที่วางในข้อความ), skills/,
agents/, chat_credentials/, เสียงบันทึกการประชุม หรือรูปภาพริก บางส่วนนั้น
ทิ้งได้และบางส่วนทิ้งไม่ได้ —
ตารางฉบับเต็มอยู่ในเอกสารอ้างอิง
และการครอบคลุมส่วนนั้นคือจุดประสงค์ของหัวข้อการเก็บสำเนานอกเครื่อง
จับสแนปช็อตของการติดตั้งทั้งหมด
หัวข้อที่มีชื่อว่า “จับสแนปช็อตของการติดตั้งทั้งหมด”- เปิด การตั้งค่า → เซิร์ฟเวอร์ → สำรองและกู้คืน
- ใต้ สแนปช็อตการติดตั้ง กด สำรองตอนนี้
- ข้อความแจ้งจะระบุชื่อไดเรกทอรีที่ถูกเขียน ณ โฮสต์เซิร์ฟเวอร์ สแนปช็อตใหม่จะปรากฏที่ด้านบนสุดของรายการ
เซิร์ฟเวอร์ยังทำงานต่อตลอดเวลา แต่ละไฟล์ถูกเขียนด้วย VACUUM INTO ซึ่งสอดคล้องกับ
ฐานข้อมูลที่ใช้งานอยู่ จึงไม่มีช่วงหยุดบำรุงรักษาและไม่จำเป็นต้องหยุดเอเจนต์
แต่ละแถวในรายการแสดงเวลาที่บันทึก ขนาดบนดิสก์ จำนวนเวิร์กสเปซที่ถูกจัดเก็บ และสถานะว่า สแนปช็อตนั้น ครบ หรือ ไม่ครบ ไม่ครบหมายความว่าไฟล์ manifest หายไปหรือระบุชื่อไฟล์ ที่ไม่มีอยู่ — การสำรองที่ถูกขัดจังหวะโดยเหตุขัดข้องหรือดิสก์เต็ม พวกนี้ยังคงแสดงในรายการ โดยเจตนา: สแนปช็อตที่คุณมองไม่เห็นคือสแนปช็อตที่คุณเชื่อว่ามีอยู่ สแนปช็อตที่ไม่ครบ กู้คืนทั้งการติดตั้งไม่ได้ แต่ไฟล์เวิร์กสเปซที่มันถืออยู่ยังนำมารับช่วงได้ทีละไฟล์
แถวอาจระบุว่า n เวิร์กสเปซไม่ถูกจัดเก็บ ได้ด้วย นั่นคือเวิร์กสเปซที่ลงทะเบียนไว้ แต่ไม่เคยถูกเขียนข้อมูล (ยังไม่มีไฟล์) หรือเวิร์กสเปซที่การคัดลอกล้มเหลว — โปรดตรวจสอบ ล็อกของเซิร์ฟเวอร์
ตั้งเวลาและระยะเวลาเก็บข้อมูลสำรองของเวิร์กสเปซ
หัวข้อที่มีชื่อว่า “ตั้งเวลาและระยะเวลาเก็บข้อมูลสำรองของเวิร์กสเปซ”เปิด การตั้งค่า → ไปป์ไลน์ → เทมเพลตไปป์ไลน์ สำหรับเวิร์กสเปซ แล้วมองหา Workspace backup ตารางเวลาที่เปิดใช้งานอยู่จะรันทุกวันอาทิตย์เวลา 03:00 UTC: Back up workspace ตามด้วย Delete backups older than (ค่าเริ่มต้น 30 วัน) โหนดที่สองจะรันหลังจากการสำรองสำเร็จเท่านั้น คุณเปลี่ยนจำนวนวันเก็บรักษาบนโหนด หรือปิดใช้งานตารางเวลาได้ ถ้าเซิร์ฟเวอร์ออฟไลน์ในเวลาที่ตั้งไว้ ตารางเวลาจะตามเก็บ ให้หนึ่งครั้งเมื่อกลับมาออนไลน์ แทนที่จะเล่นซ้ำทุกสัปดาห์ที่พลาดไป
ข้อมูลสำรองของเวิร์กสเปซอยู่บนเซิร์ฟเวอร์ภายใต้
backups/workspace-backups/<workspaceId>/<timestamp>/workspace.db โหนดเก็บรักษา
จะลบเฉพาะข้อมูลสำรองเก่าของเวิร์กสเปซนี้เท่านั้น มันไม่เคยลบสแนปช็อตการติดตั้ง
หรือข้อมูลสำรองของเวิร์กสเปซอื่น ไฟล์เหล่านี้เป็นฐานข้อมูลเท่านั้น สำหรับการเก็บรักษา
นอกเครื่อง โปรดคัดลอกแยกต่างหาก
ข้อมูลสำรองเหล่านี้แยกจากรายการ สแนปช็อตการติดตั้ง หากต้องการกู้คืนหนึ่งรายการ
ให้ใช้ ข้อมูลเวิร์กสเปซ → นำเข้า โดยระบุพาธ workspace.db ฝั่งเซิร์ฟเวอร์ของ
ข้อมูลสำรองนั้น การนำเข้าจะแทนที่ฐานข้อมูลปัจจุบันของเวิร์กสเปซนั้น ดังนั้นโปรดส่งออก
มันก่อนหากคุณอาจต้องย้อนการกู้คืน
ลบสแนปช็อตการติดตั้ง
หัวข้อที่มีชื่อว่า “ลบสแนปช็อตการติดตั้ง”ใต้ สแนปช็อตการติดตั้ง ให้ขยายสแนปช็อต รวมถึงสแนปช็อตที่ไม่ครบ แล้วใช้ ลบสแนปช็อต ในโซนอันตราย ยืนยันชื่อของมัน ไดเรกทอรีสแนปช็อตทั้งก้อนจะถูกลบออกจาก เซิร์ฟเวอร์อย่างถาวร โปรดดาวน์โหลดไว้ก่อนหากคุณต้องการสำเนา ไปป์ไลน์สำรองข้อมูลของ เวิร์กสเปซจะไม่ลบสแนปช็อตเหล่านี้เลย
เก็บสำเนาไว้บนเครื่องของคุณเอง
หัวข้อที่มีชื่อว่า “เก็บสำเนาไว้บนเครื่องของคุณเอง”พาธที่หน้านี้แสดงอยู่บนเครื่องที่รัน cc_server เมื่อเครื่องนั้นไม่ใช่เครื่องที่คุณนั่งอยู่
ให้ใช้ปุ่ม ดาวน์โหลด:
- ข้างๆ เวิร์กสเปซ แต่ละรายการใต้ ข้อมูลเวิร์กสเปซ → ดาวน์โหลด สำหรับไฟล์
.dbหนึ่งไฟล์ - ข้างๆ สแนปช็อต แต่ละรายการใต้ สแนปช็อตการติดตั้ง → ดาวน์โหลด สำหรับสแนปช็อตทั้งก้อนในรูปแบบ
.zip
บนเดสก์ท็อปคุณเลือกได้ว่าไฟล์จะไปอยู่ที่ใดและข้อความแจ้งจะระบุตำแหน่งนั้น บนเว็บไฟล์จะไปที่ รายการดาวน์โหลดของเบราว์เซอร์ ไม่ทางใดก็ทางหนึ่ง ทั้งคู่รายงานความคืบหน้าเป็นไบต์ เพราะนี่คือสองเพย์โหลดที่กินพื้นที่ถึงระดับกิกะไบต์
ทั้งคู่สร้างสำเนาใหม่ในขณะที่คุณกดปุ่ม สตรีมมัน แล้วลบสำเนาบนเซิร์ฟเวอร์ทิ้งในภายหลัง — การดาวน์โหลดไม่ใช่ “ดึงไฟล์ที่ปุ่มส่งออกสร้างไว้ก่อนหน้านี้”
การแตกไฟล์อาร์ไคฟ์สแนปช็อตจะสร้างโครงร่างของสแนปช็อตซ้ำขึ้นมาอย่างแม่นยำ ซึ่งเป็นสิ่งที่ ทำให้การกู้คืนมันเป็นการคัดลอกกลับ
ย้ายเวิร์กสเปซไปยังการติดตั้งอื่น
หัวข้อที่มีชื่อว่า “ย้ายเวิร์กสเปซไปยังการติดตั้งอื่น”หนึ่งเวิร์กสเปซคือไฟล์ฐานข้อมูลหนึ่งไฟล์ การส่งต่อจึงเป็นการดำเนินการกับไฟล์
- บนเซิร์ฟเวอร์ต้นทาง ไปที่ การตั้งค่า → เซิร์ฟเวอร์ → สำรองและกู้คืน → ข้อมูลเวิร์กสเปซ ขยายเวิร์กสเปซแล้วกด ดาวน์โหลด
- บนเซิร์ฟเวอร์ปลายทาง ให้สร้าง (หรือเลือก) เวิร์กสเปซที่จะรับมัน
- ขยายเวิร์กสเปซนั้น แล้วใต้ กู้คืนจากอุปกรณ์นี้ กด เลือกไฟล์แล้วอัปโหลด เลือกไฟล์
.dbที่คุณดาวน์โหลดมา
ถ้าเซิร์ฟเวอร์ทั้งสองเป็นเครื่องเดียวกับที่คุณนั่งอยู่ บันทึกบนเซิร์ฟเวอร์ บวก นำเข้า → เลือกไฟล์ ให้ผลเหมือนกันโดยไม่ต้องเดินทางไปกลับ พาธในกล่องโต้ตอบ การนำเข้าจะคลี่คลายบนโฮสต์เซิร์ฟเวอร์
มีสองสิ่งที่ไม่ถูกปฏิเสธ แต่ได้รับอนุญาตและบันทึกล็อกไว้: การนำเข้าไฟล์ที่รหัสเวิร์กสเปซ ที่บันทึกไว้แตกต่างจากเป้าหมาย (นี่คือวิธีที่คุณทำสำเนาเวิร์กสเปซหรือกู้คืนมันภายใต้รหัสใหม่) และการนำเข้าไฟล์จากการติดตั้งอื่น ในกรณีหลัง อุปกรณ์ที่จับคู่และรหัสผู้ใช้ของไฟล์นั้น เป็นของการติดตั้งที่มันมาจากและจะไม่คลี่คลายบนการติดตั้งนี้ — ข้อมูลของเวิร์กสเปซเอง ยังครบถ้วน แต่โปรดตรวจสอบสมาชิกภาพอีกครั้งหลังรับช่วงมันมา
โทเคนของแชทบอตอยู่ข้างฐานข้อมูล ไม่ได้อยู่ข้างใน ดังนั้นเวิร์กสเปซที่คุณยกให้คนอื่น จึงไม่พาข้อมูลรับรองที่ใช้งานได้ไปด้วย การติดตั้งที่รับจะเชื่อมต่อของตัวเองใหม่
กู้คืนเวิร์กสเปซหนึ่งตัวจากสแนปช็อต
หัวข้อที่มีชื่อว่า “กู้คืนเวิร์กสเปซหนึ่งตัวจากสแนปช็อต”- ใต้ สแนปช็อตการติดตั้ง ให้ขยายสแนปช็อตที่คุณต้องการ
- ค้นหาแถวของเวิร์กสเปซแล้วกด กู้คืน
- ยืนยัน ทุกอย่างที่เวิร์กสเปซนั้นทำไปตั้งแต่จับสแนปช็อตจะสูญหาย
นี่คือการดำเนินการเดียวกับการนำเข้า โดยชี้ไปที่สำเนาไฟล์เวิร์กสเปซนั้นในสแนปช็อต — อย่างจงใจ เพื่อไม่ให้มีกลไกที่สองที่อาจจัดการไฟล์เดียวกันต่างออกไป
แถวอาจระบุว่า ไม่อยู่บนเซิร์ฟเวอร์นี้อีกแล้ว โดยปุ่ม กู้คืน ถูกปิดใช้งาน: สแนปช็อต
ถือเวิร์กสเปซที่การติดตั้งนี้ไม่มีอยู่อีกต่อไป ให้เอากลับมาด้วยมือ — สร้างเวิร์กสเปซ
แล้วใต้ ข้อมูลเวิร์กสเปซ นำเข้าจาก
<snapshot path>/<old workspace id>/workspace.db สแนปช็อตที่ขยายอยู่จะแสดง
พาธบนเซิร์ฟเวอร์ ของตัวเองในช่องคัดลอก และชื่อของแถวคือรหัสเวิร์กสเปซเก่า คุณจึงมี
ทั้งสองครึ่งของพาธนั้นอยู่ตรงหน้า
กู้คืนทั้งการติดตั้ง
หัวข้อที่มีชื่อว่า “กู้คืนทั้งการติดตั้ง”ไม่มีปุ่มสำหรับการนี้ และก็ไม่ควรมี: มันแทนที่ฐานข้อมูลที่เซิร์ฟเวอร์ที่กำลังรันอยู่ เปิดค้างไว้
-
หยุด
cc_serverหากคุณรันแอปเดสก์ท็อปพร้อมเซิร์ฟเวอร์ที่ฝังอยู่ในตัว ให้ปิดแอปนั้น -
คัดลอกเนื้อหาของสแนปช็อตทับไดเรกทอรีข้อมูล โครงร่างของสแนปช็อตสะท้อนโครงร่างที่ใช้งานจริง จึงเป็นการคัดลอกธรรมดา:
หน้าต่างเทอร์มินัล # macOS default; see the CLI reference for other platformsDATA_DIR="$HOME/Library/Application Support/control-center"SNAPSHOT="$DATA_DIR/backups/2026-07-28T09-12-33-000Z"cp "$SNAPSHOT/global.db" "$DATA_DIR/global.db"for d in "$SNAPSHOT"/*/; doid=$(basename "$d")mkdir -p "$DATA_DIR/$id"cp "$d/workspace.db" "$DATA_DIR/$id/workspace.db"done -
ลบไฟล์
-walและ-shmใดๆ ที่วางอยู่ข้างฐานข้อมูลที่คุณแทนที่ ไฟล์เหล่านี้เป็นของไฟล์เก่า และไฟล์ค้างเก่าที่วางข้างฐานข้อมูลที่กู้คืนมาถือเป็นความเสี่ยงต่อข้อมูลเสียหาย -
เริ่มเซิร์ฟเวอร์อีกครั้ง
สแนปช็อตไม่ถือ secrets.json การติดตั้งที่กู้คืนลงบนโฮสต์ใหม่จึงเก็บข้อมูลไว้ได้
แต่ไม่เก็บข้อมูลรับรอง: ต้องตั้งค่าอุปกรณ์ที่จับคู่ โทเคนของผู้ให้บริการ และการตั้งค่า SSO
ขึ้นใหม่ หรือกู้คืนจากที่ใดก็ตามที่คุณเก็บไฟล์นั้นไว้ การกู้คืนลงบนโฮสต์เดิม
ซึ่ง secrets.json ไม่เคยหายไป จะเก็บทุกอย่างไว้ครบ
คัดลอกข้อมูลสำรองออกนอกเครื่อง
หัวข้อที่มีชื่อว่า “คัดลอกข้อมูลสำรองออกนอกเครื่อง”สแนปช็อตที่อยู่บนดิสก์เดียวกับฐานข้อมูลที่มันคัดลอกมาปกป้องคุณจากการนำเข้าที่ผิดพลาด ไม่ได้ปกป้องจากดิสก์เสีย ไม่มีอะไรใน Control Center ที่ส่งสำเนาไปที่ใดให้ ดังนั้นส่วนนี้ เป็นความรับผิดชอบของคุณ
ซิงก์สแนปช็อต
หัวข้อที่มีชื่อว่า “ซิงก์สแนปช็อต”สแนปช็อตไม่เปลี่ยนแปลงอีกหลังเขียนเสร็จและตั้งชื่อตามเวลา เครื่องมือซิงก์ใดๆ
จึงจัดการได้ดี ให้ยกเว้น transfer/ ซึ่งเป็นพื้นที่ทำงานชั่วคราวสำหรับการดาวน์โหลด
และอัปโหลดที่กำลังดำเนินอยู่:
DATA_DIR="$HOME/Library/Application Support/control-center"
# To another host over sshrsync -a --delete --exclude 'transfer/' \ "$DATA_DIR/backups/" backup-host:/srv/control-center-backups/
# To object storageaws s3 sync --exclude 'transfer/*' \ "$DATA_DIR/backups/" s3://my-bucket/control-center/backups/
# Or with deduplication, encryption and its own retentionrestic backup --exclude 'transfer' "$DATA_DIR/backups"--delete จะสะท้อนการตัดทิ้งในเครื่องของคุณไปยังปลายทาง ให้ตัดมันออกหากคุณต้องการ
ให้ปลายทางเก็บสแนปช็อตไว้นานกว่าโฮสต์
รวมสิ่งที่สแนปช็อตไม่ได้รวมไว้
หัวข้อที่มีชื่อว่า “รวมสิ่งที่สแนปช็อตไม่ได้รวมไว้”หากต้องการสร้างการติดตั้งขึ้นใหม่ได้ ไม่ใช่แค่ข้อมูลของมัน ให้คัดลอกไฟล์เหล่านี้ด้วย พวกมันเป็นไฟล์ธรรมดา ปลอดภัยที่จะคัดลอกขณะเซิร์ฟเวอร์รันอยู่:
rsync -a \ "$DATA_DIR/secrets.json" \ backup-host:/srv/control-center-backups/config/
rsync -a --relative \ "$DATA_DIR"/./*/chat_credentials \ "$DATA_DIR"/./*/blobs \ "$DATA_DIR"/./*/skills \ "$DATA_DIR"/./*/agents \ backup-host:/srv/control-center-backups/workspace-files/secrets.json มีสิทธิ์ 0600 และถือคีย์จับคู่ ข้อมูลรับรองของผู้ให้บริการ และการตั้งค่า SSO
ทุกอย่างของการติดตั้ง ไม่ว่ามันจะไปอยู่ที่ใด ที่นั้นต้องได้รับการปกป้องอย่างน้อยเท่ากับ
โฮสต์เซิร์ฟเวอร์ — เข้ารหัสขณะพัก และไม่ใช่บัคเก็ตที่ใครอื่นอ่านได้
ข้าม spaces/ (worktree แบบ copy-on-write ที่จัดสรรใหม่ได้จากรีโปของคุณ), pr_clones/
(แคช), models/ (ดาวน์โหลดใหม่ได้), media_cache/ และ rigs/ (สถานะของเครื่อง และ
มีขนาดใหญ่) เสียงบันทึกการประชุมใต้ meetings/ ก็คุ้มที่จะรวมไว้หากคุณเก็บการประชุม
ตั้งเวลาสแนปช็อตของการติดตั้งทั้งหมดนอกแอป
หัวข้อที่มีชื่อว่า “ตั้งเวลาสแนปช็อตของการติดตั้งทั้งหมดนอกแอป”ไปป์ไลน์ที่มีมาให้ในตัวสำรองข้อมูลเพียงเวิร์กสเปซเดียว สำหรับสแนปช็อตของการติดตั้งทั้งหมด
แบบไม่มีคนเฝ้า ไม่มีคำสั่งย่อยใน CLI และ RPC ของสแนปช็อตต้องใช้ไคลเอนต์แบบเต็มที่จับคู่แล้ว
และเป็นเจ้าของการติดตั้ง ตัวจับเวลาฝั่งโฮสต์สามารถใช้ VACUUM INTO กับฐานข้อมูล
ที่ใช้งานจริงได้:
#!/usr/bin/env bashset -euo pipefail
DATA_DIR="${CC_SERVER_DATA_DIR:-$HOME/.local/share/control-center}"DEST="/srv/control-center-snapshots/$(date -u +%Y-%m-%dT%H-%M-%SZ)"mkdir -p "$DEST"
sqlite3 "$DATA_DIR/global.db" "VACUUM INTO '$DEST/global.db'"
for db in "$DATA_DIR"/*/workspace.db; do id=$(basename "$(dirname "$db")") mkdir -p "$DEST/$id" sqlite3 "$db" "VACUUM INTO '$DEST/$id/workspace.db'"doneรันมันด้วยผู้ใช้คนเดียวกับที่เป็นเจ้าของไดเรกทอรีข้อมูล จาก cron หรือตัวจับเวลาของ systemd
แล้วซิงก์ DEST ออกนอกโฮสต์ในภายหลัง VACUUM INTO ต้องใช้ SQLite 3.27 ขึ้นไป
เขียนมันไว้นอก <dataDir>/backups/ ไดเรกทอรีที่สร้างด้วยมือในที่นั้นไม่มี
manifest.json แอปจึงจะแสดงมันเป็นสแนปช็อตที่ไม่ครบ และรายการจะเลิกเป็นบันทึก
ที่ซื่อตรงของสิ่งที่เซิร์ฟเวอร์สร้างขึ้นเอง
ตัดทิ้งสแนปช็อตของการติดตั้งทั้งหมดแบบเก่า
หัวข้อที่มีชื่อว่า “ตัดทิ้งสแนปช็อตของการติดตั้งทั้งหมดแบบเก่า”คุณลบสแนปช็อตการติดตั้งทีละรายการในแอปได้ สำหรับนโยบายเก็บรักษาฝั่งโฮสต์ ให้แยกไดเรกทอรีข้อมูลสำรองของเวิร์กสเปซออกจากสแนปช็อตการติดตั้ง:
find "$DATA_DIR/backups" -mindepth 1 -maxdepth 1 -type d \ ! -name exports ! -name transfer ! -name workspace-backups \ -mtime +30 -exec rm -rf {} +ตรวจสอบผลลัพธ์ของการรัน -print ก่อนเพิ่ม -exec ให้เก็บไว้มากกว่าหนึ่งชุด:
ความล้มเหลวที่คุณกำลังป้องกันอยู่มักเป็น “ข้อมูลสำรองชุดล่าสุดก็มีปัญหาเดียวกัน”
ตรวจสอบว่าข้อมูลสำรองดี
หัวข้อที่มีชื่อว่า “ตรวจสอบว่าข้อมูลสำรองดี”ข้อมูลสำรองที่ไม่มีใครกู้คืน คือสมมติฐาน
การตรวจแบบง่าย — ไฟล์เปิดได้และหน้าต่างๆ ของมันยังสมบูรณ์:
sqlite3 "$SNAPSHOT/global.db" 'PRAGMA integrity_check;' # expects: okการตรวจแบบจริง — รับช่วงมันมา สร้างเวิร์กสเปซชั่วคราวบนการติดตั้งที่ไม่ใช่โปรดักชัน นำเข้าไฟล์เวิร์กสเปซเข้าไปในนั้น แล้วดูว่าสเปซ ตั๋วงาน และข้อความที่คุณคาดหวังอยู่ที่นั่น หรือไม่ นั่นเป็นการทดสอบเส้นทางเดียวกับการกู้คืนจริง รวมถึงการสร้างดัชนี FTS ใหม่ และเป็นการตรวจเดียวที่บอกคุณได้ว่าข้อมูลสำรองกู้คืนได้ ไม่ใช่แค่อ่านได้
ทำเช่นนี้หนึ่งครั้งเมื่อคุณตั้งค่าข้อมูลสำรอง และอีกครั้งทุกครั้งที่คุณเปลี่ยนที่เก็บของมัน
การแก้ปัญหา
หัวข้อที่มีชื่อว่า “การแก้ปัญหา”| อาการ | สาเหตุและวิธีแก้ |
|---|---|
| ตัวควบคุมการดาวน์โหลดและอัปโหลดถูกปิดใช้งานพร้อมข้อความเกี่ยวกับรีเลย์ | คุณเชื่อมต่อผ่านรีเลย์ที่โบรกเกอร์ไว้ ซึ่งไม่รับส่งไฟล์ โปรดเชื่อมต่อโดยตรง |
| “เซิร์ฟเวอร์ปฏิเสธ” | บทบาท การสร้างหรือแสดงรายการสแนปช็อตการติดตั้งต้องเป็นผู้ดำเนินการของการติดตั้ง การดาวน์โหลดเวิร์กสเปซต้องเป็นแอดมิน การกู้คืนต้องเป็นเจ้าของ และซิปสแนปช็อตทั้งก้อนต้องเป็นผู้ดำเนินการของการติดตั้ง |
| “เซิร์ฟเวอร์นี้ไม่มีพื้นผิวการสำรอง” | โฮสต์ไม่ได้ต่อพอร์ตการสำรองไว้ — เซิร์ฟเวอร์เดโม การดำเนินการเหล่านี้หายไปเลยมากกว่าจะถูกปฏิเสธ |
| “ไฟล์ใหญ่เกินกว่าที่เซิร์ฟเวอร์รับ” | การอัปโหลดจำกัดไว้ที่ 8 GiB ให้วางไฟล์บนโฮสต์เซิร์ฟเวอร์แล้วใช้ นำเข้า → เลือกไฟล์ แทน |
| การนำเข้าถูกปฏิเสธ: ไม่ใช่ฐานข้อมูลเวิร์กสเปซของ Control Center | ไฟล์ไม่มีแถว workspace_meta — มันไม่ใช่การส่งออกเวิร์กสเปซ หรือมันถูกตัดทอน ไม่มีอะไรถูกแทนที่ |
| สแนปช็อตถูกแสดงเป็น ไม่ครบ | ไฟล์ manifest ของมันหายไปหรือระบุชื่อไฟล์ที่ไม่มีอยู่ ให้จับชุดใหม่ ระหว่างนี้ให้รับช่วงไฟล์เวิร์กสเปซทีละไฟล์จากมันไปก่อน |
| สแนปช็อตระบุว่าเวิร์กสเปซไม่ถูกจัดเก็บ | เวิร์กสเปซเหล่านั้นไม่เคยถูกเขียนข้อมูล หรือการคัดลอกของมันล้มเหลว โปรดตรวจสอบล็อกของเซิร์ฟเวอร์ |
| การติดตั้งที่กู้คืนไม่มีข้อมูลรับรองของโฮสต์โค้ดหรือ SSO | secrets.json ไม่ได้อยู่ในสแนปช็อต ให้กู้คืนจากที่ใดก็ตามที่คุณเก็บไว้ หรือเชื่อมต่อผู้ให้บริการใหม่ |
| เวิร์กสเปซที่กู้คืนขาดรูปภาพที่วางไว้ | บล็อบอยู่ข้างฐานข้อมูล ไม่ได้อยู่ข้างใน ให้คัดลอก <workspaceId>/blobs/ มาด้วย |
คู่มือที่เกี่ยวข้อง
หัวข้อที่มีชื่อว่า “คู่มือที่เกี่ยวข้อง”- รันเซิร์ฟเวอร์แบบไม่มีส่วนติดต่อ: ไดเรกทอรีข้อมูลมาจากไหน
- เชื่อมต่อเซิร์ฟเวอร์ระยะไกล: การเชื่อมต่อโดยตรงกับการเชื่อมต่อผ่านรีเลย์
- จับคู่อุปกรณ์: ข้อมูลรับรองที่เส้นทางโอนไฟล์ใช้ลงนาม
แนวคิดและเอกสารอ้างอิงที่เกี่ยวข้อง
หัวข้อที่มีชื่อว่า “แนวคิดและเอกสารอ้างอิงที่เกี่ยวข้อง”- สำรอง นำออก และนำเข้า: ทุกการดำเนินการ เส้นทาง ฟิลด์ และขีดจำกัด
- เวิร์กสเปซและการแยกโดเมน: ทำไมหนึ่งเวิร์กสเปซจึงเป็นหนึ่งไฟล์
cc_serverCLI: โครงร่างของไดเรกทอรีข้อมูล