เราใช้อินสแตนซ์ของTRACแยกต่างหากเป็นระบบตั๋วของเราสำหรับโครงการหลายโครงการและจำเป็นต้องย้ายออกจากไซต์หลายครั้งต่อวันเพื่อการกู้คืนจากความเสียหาย
อะไรคือวิธีที่ดีที่สุดที่จะทำให้สิ่งนี้เกิดขึ้น? มีบางสิ่งที่คล้ายกับsvnsyncสำหรับการโค่นล้มหรือไม่?
เราใช้อินสแตนซ์ของTRACแยกต่างหากเป็นระบบตั๋วของเราสำหรับโครงการหลายโครงการและจำเป็นต้องย้ายออกจากไซต์หลายครั้งต่อวันเพื่อการกู้คืนจากความเสียหาย
อะไรคือวิธีที่ดีที่สุดที่จะทำให้สิ่งนี้เกิดขึ้น? มีบางสิ่งที่คล้ายกับsvnsyncสำหรับการโค่นล้มหรือไม่?
คำตอบ:
ในการกู้คืนสภาพแวดล้อม trac อย่างสมบูรณ์คุณต้องการสิ่งต่อไปนี้:
ในกรณีของการตั้งค่ามาตรฐาน (ด้วย SQLite ในฐานะแบ็กเอนด์ BD) ซึ่งหมายความว่าสิ่งที่คุณต้องสำรองคือเนื้อหาของ trac install dir
easy_install
นอกจากนี้ก็จะเป็นประโยชน์ในการสร้างรายการแพคเกจหลามทั้งหมดที่คุณจำเป็นต้องติดตั้งด้วย
ฉันใช้สคริปต์เพื่อสำรองข้อมูลทั้ง SVN + Trac แบบเต็มลงในไฟล์. tar.gz อย่างปลอดภัย จากนั้นสามารถสำรองข้อมูลตามปกติด้วยไฟล์อื่น ๆ ..
#!/bin/sh
DATE=`date +%F-%H%M%S`
nice svnadmin dump /var/svn/trac.example.com > dump.$DATE.svn
nice trac-admin trac.example.com hotcopy trac.example.com-$DATE.trac
# take the SVN dump, and trac hotcopy, put into a dated TGZ anc copy to /backup...
nice tar czf svn-trac.$DATE.tar.gz backupTrac.sh startTracd.sh trac.htdigest \
trac.example.com-$DATE.trac dump.$DATE.svn && \
cp svn-trac.$DATE.tar.gz /backup/trac/ &&
rm -rf trac.example.com-$DATE.trac dump.$DATE.svn
คุณอาจต้องการดูTracBackup :
เนื่องจาก Trac ใช้แบ็กเอนด์ฐานข้อมูลจึงจำเป็นต้องมีความระมัดระวังเป็นพิเศษในการสร้างการสำรองข้อมูลของสภาพแวดล้อมโครงการอย่างปลอดภัย โชคดีที่ trac-admin มีคำสั่งให้ทำการสำรองข้อมูลได้ง่ายขึ้น: hotcopy
หมายเหตุ: Trac ใช้ระบบการตั้งชื่อแบบ hotcopy เพื่อจับคู่กับการโค่นล้มเพื่อให้ง่ายต่อการจดจำเมื่อจัดการกับทั้งเซิร์ฟเวอร์ Trac และการโค่นล้ม
หากคุณใช้ sqlite เป็นแบ็กเอนด์ (การตั้งค่าเริ่มต้น) คุณสามารถคัดลอกไฟล์ ขนาดไฟล์ (อย่างน้อยสำหรับเรา) นั้นเล็กมากจนเราไม่เคยมีปัญหากับความสอดคล้องของมัน