เป็นไปได้หรือไม่ที่จะวิเคราะห์ขนาดของพื้นที่เก็บข้อมูล SubVersion?


10

เป็นไปได้หรือไม่ที่จะทราบจำนวนพื้นที่ดิสก์ในแต่ละโปรเจ็กต์ในที่เก็บ SubVersion

ฉันสามารถตรวจสอบสำเนาการทำงานของแต่ละโครงการและดูขนาดที่แต่ละโครงการใช้ แต่ฉันไม่คิดว่าจะครอบคลุมขนาดทั้งหมดของโครงการ (การแก้ไขทั้งหมด)

ฉันสามารถดูภายใต้ไดเรกทอรี "db" ของที่เก็บ แต่ไม่มีไฟล์ใดในนั้นที่เหมาะสม - ฉันไม่คิดว่ามันเป็นไปได้ที่จะใช้มันเพื่อหาว่ามีพื้นที่ว่างเท่าใดในแต่ละโครงการ

ฉันลองใช้svn ls --verboseคำสั่ง แต่ขนาดที่ให้ฉันเป็นแค่ขนาดของไฟล์จริงในการแก้ไขส่วนหัวฉันไม่คิดว่ามันจะมีการแก้ไขทั้งหมด

อาจเป็นไปไม่ได้ แต่ฉันคิดว่าฉันจะถาม

ขอบคุณล่วงหน้า!

คำตอบ:


1

สิ่งเดียวที่อยู่ในใจของฉันคือ:

  • สร้างที่เก็บว่างใหม่ชั่วคราว

  • svnadmin ดัมพ์ที่เก็บเก่ากรองเพื่อรักษาเพียงโครงการเดียวที่มี svndumpfilter และอิมพอร์ตลงในที่เก็บใหม่

  • ดูขนาดของที่เก็บใหม่แล้วลบ


3

ฉันใช้สิ่งนี้เมื่อเร็ว ๆ นี้ แต่เปลี่ยนมันเล็กน้อยเพื่อความแม่นยำมากขึ้น

svn list -vR svn://server/repo/somedir | awk '{tmp=match($3,/[0-9]/);if(tmp){sum+=$3; i++}} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'

ฉันใช้

{tmp=match($3,/[0-9]/) 

แทนถ้า

($3 !="")

เนื่องจากมันให้จำนวนไฟล์ที่แม่นยำยิ่งขึ้น


2

หากคุณใช้-rตัวเลือกคุณสามารถระบุการแก้ไข

ตัวอย่างเช่นการแก้ไข 1,000:

svn ls -vR -r 1000

1

ขนาดของพื้นที่เก็บข้อมูลสามารถพบได้โดยใช้คำสั่งต่อไปนี้ ..

แม้ว่าสิ่งนี้จะไม่ให้ผลลัพธ์ที่แน่นอนตลอดเวลา แต่ฉันพบว่าสิ่งนี้มีประโยชน์เกือบทุกครั้ง

svn list -vR svn://server/repo/somedir | awk '{if ($3 !="") sum+=$3; i++} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'.

1

หากคุณมีสิทธิ์เข้าถึงเทอร์มินัลเซิร์ฟเวอร์คุณสามารถใช้ du (ดิสก์ที่ใช้):

du -sh /var/svn-repos/project-doomsday

ที่ให้จำนวนพื้นที่ทั้งหมดที่ใช้โดย repo นั้นบนเซิร์ฟเวอร์รวมถึงฐานข้อมูลขนาดเล็ก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.