ในการสำรองข้อมูลกล่องจดหมาย Zimbra Community Edition (CE) หนึ่งกล่อง ให้ส่งออกเป็นไฟล์ TGZ ด้วยคำสั่ง `export` zmmailbox getRestURLตรวจสอบความถูกต้องของไฟล์เก็บถาวร และกู้คืนด้วยคำสั่ง `restore` postRestURLเมื่อนำเข้าลงในบัญชีที่มีอีเมลอยู่แล้ว ให้เริ่มต้นด้วยคำสั่ง `restore` resolve=skipการใช้คำสั่งresolve=reset`restore` ที่รากของกล่องจดหมายอาจลบรายการที่มีอยู่แล้วได้
ทำความเข้าใจว่าการส่งออกข้อมูลต่อกล่องจดหมายช่วยปกป้องอะไรบ้าง
เอกสารของ Zimbra อธิบายการส่งออกและนำเข้าไฟล์ TGZ ผ่านทางอินเทอร์เฟซ REST และzmmailboxยูทิลิตี้ ไฟล์เก็บถาวรนี้มีจุดประสงค์เพื่อเก็บเนื้อหากล่องจดหมายและโครงสร้างโฟลเดอร์ รวมถึงข้อความอีเมลที่บรรจุเป็นไฟล์ EML และข้อมูลปฏิทิน รายชื่อติดต่อ งาน หรือข้อมูลกระเป๋าเอกสารที่เกี่ยวข้อง เนื้อหาและเมตาเดต้าที่จะคงอยู่หลังการนำเข้าจะขึ้นอยู่กับเวอร์ชันของแหล่งที่มาและปลายทาง รวมถึงรายการที่กำลังถ่ายโอน
อย่าสับสนสิ่งนี้กับการสำรองข้อมูลบัญชีหรือเซิร์ฟเวอร์แบบเต็มรูปแบบ การส่งออกเนื้อหา TGZ ไม่ได้สร้างบัญชีที่หายไปหรือเก็บรักษาคุณสมบัติ LDAP รหัสผ่าน ชื่อแทน การกำหนดคลาสของบริการ การตั้งค่าการกำหนดเส้นทาง ตัวกรอง สิทธิ์ หรือการกำหนดค่าเซิร์ฟเวอร์ทั้งหมดไว้โดยอิสระ บันทึกการตั้งค่าบัญชีที่จำเป็นใดๆ แยกต่างหากโดยใช้ขั้นตอนการดูแลระบบzmbackupยูทิลิตี้ที่อธิบายไว้ในเอกสาร Zimbra รุ่นเก่าเป็นของ Network Edition ไม่ใช่เวิร์กโฟลว์ CE มาตรฐาน
ตัวอย่างคำสั่งเหล่านี้เป็นไปตามอินเทอร์เฟซที่เอกสารของ Zimbra ได้ระบุไว้ แต่ไม่ใช่การทดสอบแบบเรียลไทม์สำหรับทุกเวอร์ชัน CE ที่พัฒนาขึ้นอย่างอิสระ โปรดตรวจสอบ ความช่วยเหลือ zmcontrol -vที่มีอยู่zmmailboxและบันทึกการเผยแพร่ของเวอร์ชันที่คุณสร้างขึ้นก่อนวางแผนการกู้คืนระบบในสภาพแวดล้อมการผลิต นอกจากนี้ การส่งออก REST แบบเรียลไทม์ไม่ควรถูกมองว่าสามารถบันทึกทุกช่วงเวลาได้อย่างสมบูรณ์แบบ หากผู้ใช้เปลี่ยนแปลงรายการขณะที่กำลังทำงานอยู่ ควรวางแผนช่วงเวลาที่มีกิจกรรมน้อยเมื่อความสม่ำเสมอมีความสำคัญ
ส่งออกกล่องจดหมายแต่ละรายการ
1. ระบุบัญชีและผู้ให้บริการอีเมลของบัญชีนั้น
เชื่อมต่อกับเซิร์ฟเวอร์ Zimbra โดยใช้บัญชีระบบปฏิบัติการที่มีสิทธิ์ผู้ดูแลระบบ สลับไปใช้ผู้ใช้บริการ Zimbra จากนั้นตรวจสอบว่าบัญชีเป้าหมายมีอยู่จริง ในการใช้งานแบบหลายเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าคุณกำลังเชื่อมต่อกับบริการกล่องจดหมายที่ถูกต้อง
sudo -iu zimbra
zmcontrol -v
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
แทนที่user@example.comด้วยชื่อบัญชีจริง-zสวิตช์นี้ใช้ข้อมูลประจำตัวผู้ดูแลระบบ Zimbra ในเครื่อง ไม่ใช่รหัสผ่านของผู้ใช้ปลายทาง หากคุณไม่มีสิทธิ์การดูแลระบบที่จำเป็น ให้ใช้เวิร์กโฟลว์การเข้าถึงบัญชีที่ได้รับอนุมัติแทนการฝังรหัสผ่านไว้ในคำสั่งเชลล์
โปรดตรวจสอบที่อยู่กล่องจดหมาย เซิร์ฟเวอร์โฮสติ้ง และสถานะบัญชี ก่อนเริ่มการส่งออก
2. สร้างพื้นที่เก็บถาวรส่วนตัว
ในฐานะผู้ใช้ระบบปฏิบัติการที่มีสิทธิ์พิเศษ ให้สร้างตำแหน่งที่ผู้ใช้บริการ Zimbra สามารถเขียนได้ ควรทำเช่นนี้ในตำแหน่งที่อยู่นอกไดเร็กทอรีที่ให้บริการสาธารณะ และตรวจสอบพื้นที่ว่างก่อน เรียกใช้คำสั่งติดตั้งก่อนที่จะเปลี่ยนไปใช้บัญชีzimbraที่มีสิทธิ์พิเศษ หรือกลับไปยังบัญชีของคุณที่มีสิทธิ์พิเศษอีก ครั้ง
sudo install -d -o zimbra -g zimbra -m 0700 /srv/zimbra-mailbox-backups
df -h /srv/zimbra-mailbox-backups
ls -ld /srv/zimbra-mailbox-backups
ไฟล์เก็บอีเมลอาจมีข้อความและไฟล์แนบที่เป็นความลับ จึงควรจำกัดการเข้าถึงระบบไฟล์ ป้องกันสำเนาที่จัดเก็บไว้ภายนอกเซิร์ฟเวอร์ และใช้หลักเกณฑ์การเก็บรักษาข้อมูลที่เหมาะสม
ใช้ไดเร็กทอรีสำรองข้อมูลส่วนตัวและตรวจสอบสิทธิ์การเข้าถึงไฟล์ของไดเร็กทอรีนั้น
3. ส่งออกกล่องจดหมายเป็นไฟล์ TGZ
จากzimbraหน้าต่างคำสั่ง ให้ใช้ REST exporter ด้านล่าง-t 0ตัวเลือกนี้จะปิดใช้งานการหมดเวลาของ CLI สำหรับการดำเนินการขนาดใหญ่ แต่ไม่รับประกันว่าพร็อกซี การอ่าน/เขียนดิสก์ หรือข้อจำกัดของเซิร์ฟเวอร์จะไม่ขัดจังหวะการส่งออก
umask 077
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz' > /srv/zimbra-mailbox-backups/user-20261010.tgz
ทำการส่งออกข้อมูลเพียงครั้งเดียวต่อบัญชี และเลือกชื่อไฟล์ที่มีวันที่กำกับและไม่ซ้ำกัน อย่าใช้เส้นทางไฟล์เก็บถาวรเดิมซ้ำ เนื่องจากระบบจะเปลี่ยนเส้นทางการทำงานของเชลล์และตัดเส้นทางนั้นทิ้ง หากคำสั่งรายงานข้อผิดพลาด ให้ถือว่าไฟล์ที่ได้นั้นไม่สมบูรณ์ จนกว่าจะผ่านการตรวจสอบด้านล่าง
คำสั่ง getRestURL จะเขียนไฟล์เก็บถาวรกล่องจดหมายแบบบีบอัดลงในไดเร็กทอรีที่เลือก
4. ตรวจสอบความถูกต้องของไฟล์เก็บถาวรและบันทึกค่าตรวจสอบความถูกต้อง (checksum)
ไฟล์ TGZ ที่ไม่ว่างเปล่าไม่ได้หมายความว่าเป็นไฟล์สำรองที่กู้คืนได้เสมอไป ควรทดสอบสตรีม tar ทั้งหมด ตรวจสอบรายการโฟลเดอร์ตัวอย่าง และคำนวณค่าแฮช หากการตรวจสอบ tar ล้มเหลว แสดงว่าคุณควรตรวจสอบการส่งออกมากกว่าการนำเข้าไฟล์
test -s /srv/zimbra-mailbox-backups/user-20261010.tgz
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz > /dev/null
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz | head -n 20
cd /srv/zimbra-mailbox-backups
sha256sum user-20261010.tgz > user-20261010.tgz.sha256
เก็บค่า checksum ไว้ข้างๆ ไฟล์เก็บถาวร แล้วย้ายทั้งสองไฟล์ไปยังพื้นที่จัดเก็บที่ปลอดภัยภายนอกเซิร์ฟเวอร์เดิม หลังจากคัดลอกเสร็จแล้ว ให้เรียกใช้คำสั่งsha256sum -c user-20261010.tgz.sha256ในไดเร็กทอรีที่มีไฟล์ทั้งสองอยู่ ค่า checksum ที่สำเร็จจะยืนยันความสมบูรณ์ของไบต์ แต่ไม่ได้หมายความว่าฟังก์ชันทั้งหมดของกล่องจดหมายจะถูกกู้คืนอย่างถูกต้อง
ตรวจสอบไฟล์เก็บถาวรก่อนที่จะนำไฟล์ส่งออกไปใช้เป็นสำเนาสำหรับการกู้คืน
บันทึกค่าแฮช SHA-256 เพื่อตรวจสอบการเปลี่ยนแปลงในไฟล์ที่ถ่ายโอน
กู้คืนไฟล์เก็บถาวรโดยไม่เขียนทับอีเมลที่ใช้งานอยู่
5. เตรียมและตรวจสอบตู้จดหมายปลายทาง
สร้างบัญชีปลายทางผ่านกระบวนการจัดเตรียม Zimbra ที่ได้รับอนุมัติตามปกติ หากบัญชีนั้นยังไม่มีอยู่ การนำเข้า TGZ จะไม่สร้างบัญชีนั้นให้ ตรวจสอบที่อยู่ โควต้า การเข้าถึงบริการ และโฟลเดอร์ที่มีอยู่ สำหรับการทดสอบครั้งแรก ให้ใช้บัญชีที่ไม่ใช่บัญชีใช้งานจริงที่แยกต่างหาก โดยเฉพาะอย่างยิ่งสำหรับการถ่ายโอนข้ามเวอร์ชัน
sudo -iu zimbra
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
คัดลอกไฟล์เก็บถาวรที่ตรวจสอบความถูกต้องแล้วไปยังไดเร็กทอรีที่ผู้ใช้บริการ Zimbra ปลายทางสามารถอ่านได้ โดยคงสิทธิ์การเข้าถึงแบบจำกัดไว้ สำหรับการถ่ายโอนระยะไกล ให้ตรวจสอบ checksum อีกครั้งที่ปลายทาง อย่าคิดว่าบัญชีที่มีที่อยู่เดียวกันนั้นว่างเปล่า
ตรวจสอบให้แน่ใจว่าบัญชีปลายทางที่ต้องการมีอยู่จริงก่อนนำเข้าข้อมูลในกล่องจดหมาย
6. นำเข้าโดยใช้นโยบายการจัดการข้อขัดแย้งที่เหมาะสมกับปลายทาง
หากต้องการเพิ่มรายการที่ขาดหายไปโดยคงรายการที่ตรงกันไว้ ให้ใช้resolve=skipนี่คือพฤติกรรมการจัดการรายการซ้ำตามค่าเริ่มต้นที่ระบุไว้ในเอกสาร แต่ไม่ได้รับประกันว่าจะผสานรวมได้อย่างสมบูรณ์แบบสำหรับรายการทุกประเภทหรือทุกเวอร์ชัน
zmmailbox -z -m user@example.com -t 0 postRestURL '//?fmt=tgz&resolve=skip' /srv/zimbra-mailbox-backups/user-20261010.tgz
หลีกเลี่ยงการคัดลอกตัวอย่างที่เป็นอันตรายไปใช้ในระบบการผลิต เอกสารของ Zimbra resolve=resetระบุว่าต้องล้างรายการปลายทางก่อนนำเข้า นอกจากนี้ นโยบาย replaceต่างๆmodifyยังเปลี่ยนแปลงวิธีการจัดการรายการที่มีอยู่ด้วย ควรพิจารณาใช้เฉพาะสำหรับการกู้คืนที่ควบคุมได้หลังจากทดสอบและได้รับการอนุมัติสำหรับขอบเขตบัญชีและโฟลเดอร์ที่แน่นอนแล้วเท่านั้น
นำเข้าไฟล์เก็บถาวรโดยใช้นโยบายข้ามข้อขัดแย้งเมื่อจำเป็นต้องเก็บรักษาเนื้อหาในกล่องจดหมายที่มีอยู่
จัดการกับข้อผิดพลาดในการส่งออกและตรวจสอบการกู้คืน
หากพบปัญหาหมดเวลา ให้เก็บรักษา-t 0และตรวจสอบเวลาหมดเวลาของเซิร์ฟเวอร์หรือพร็อกซี และขีดจำกัดพื้นที่จัดเก็บข้อมูล การตั้งค่าเวลาหมดเวลา CLI เป็นศูนย์ไม่ได้แก้ปัญหาเครือข่ายทุกอย่างเสมอไป วิกิสนับสนุนของ Zimbra ยังเตือนเกี่ยวกับไฟล์เก็บถาวรที่เสียหายและความล้มเหลวในการอ่านเขียนข้อมูลในการส่งออกกล่องจดหมายขนาดใหญ่บางรายการ สำหรับการส่งออกที่มีขนาดใหญ่เกินไปหรือไม่น่าเชื่อถือ ให้แบ่งงานตามโฟลเดอร์หรือวันที่ จากนั้นทดสอบไฟล์เก็บถาวรแต่ละไฟล์และการนำเข้าในบัญชีสำรอง
ตัวอย่างเช่น คำค้นหาที่ระบุไว้under:Inboxจะเลือกเนื้อหาในกล่องจดหมายเข้าและโฟลเดอร์ย่อย เครื่องหมายอัญประกาศรอบ URL ของ REST นั้นมีความสำคัญมาก เนื่องจากเครื่องหมายแอมเปอร์แซนด์ต้องส่งไปถึง Zimbra ไม่ใช่ไปที่เชลล์
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz&query=under:Inbox' > /srv/zimbra-mailbox-backups/inbox-20261010.tgz
การเก็บถาวรแบบจำกัดขอบเขตโฟลเดอร์ไม่ สามารถใช้ทดแทนการส่งออกกล่องจดหมายทั้งหมดได้ ตรวจสอบเนื้อหาแยกต่างหากและบันทึกว่าโฟลเดอร์หรือวันที่ใดบ้างที่ถูกละเว้น หากบัญชีถูกปิดใช้งานหรือคำขอส่งคืนข้อผิดพลาดด้านการอนุญาต ให้ตรวจสอบสถานะบัญชีและการตรวจสอบสิทธิ์ของผู้ดูแลระบบแทนที่จะข้ามการตรวจสอบใบรับรอง TLS หรือเปิดเผยข้อมูลประจำตัว
7. ตรวจสอบรายการที่กู้คืนแล้ว ไม่ใช่แค่ตรวจสอบคำสั่งออกจากโปรแกรม
แสดงรายการโฟลเดอร์ปลายทางและเปรียบเทียบกับโฟลเดอร์ต้นทางที่บันทึกไว้และข้อมูลสินค้าคงคลังของ TGZ:
zmmailbox -z -m user@example.com getAllFolders
zmmailbox -z -m user@example.com getMailboxSize
จากนั้นลงชื่อเข้าใช้บัญชีทดสอบปลายทางและเปิดตัวอย่างข้อความที่ได้รับและส่ง ไฟล์แนบ รายชื่อติดต่อ และกิจกรรมในปฏิทิน ตรวจสอบวันที่และเส้นทางโฟลเดอร์ และตรวจสอบข้อผิดพลาดในการนำเข้า สร้างใหม่หรือตรวจสอบนามแฝง สิทธิ์การแชร์ กฎ และการตั้งค่าระดับบัญชีอื่นๆ แยกต่างหากเมื่อจำเป็น ถือว่าการกู้คืนสำเร็จก็ต่อเมื่อสามารถเข้าถึงข้อมูลที่คาดหวังได้และบันทึกการตรวจสอบแล้วเท่านั้น
เปรียบเทียบกล่องจดหมายเข้า กล่องจดหมายส่ง ปฏิทิน และโฟลเดอร์อื่นๆ ที่กู้คืนแล้ว กับเนื้อหาในไฟล์เก็บถาวรที่คาดไว้
เอกสารอ้างอิงหลัก: เอกสารอ้างอิงคำสั่ง Zimbra zmmailbox , เอกสารอ้างอิง Zimbra REST API , เอกสารอ้างอิงการจัดการ Zimbra zmprov และบทความ Zimbra เกี่ยวกับการส่งออกแบบจำกัดขอบเขตและข้อควรระวังเกี่ยวกับไฟล์เก็บถาวรขนาดใหญ่ ตัวอย่างบางส่วนในวิกิของ Zimbra นั้นเก่าแล้วหรืออยู่ในระหว่างการพัฒนา โปรดตรวจสอบพฤติกรรมของตัวอย่างเหล่านั้นในเวอร์ชัน CE ที่ติดตั้งไว้ก่อนที่จะนำไปใช้งานจริง