تنشئ عملية النسخ الاحتياطي ملف tar ثم تطبق عليه gzip. يوجد نوعان من الأشياء في ملف tar: تفريغ sql مضغوط بالفعل باستخدام gzip ومحتويات التحميلات (إذا طُلب ذلك). في حالتي، كل ملف تحميل مضغوط بالفعل: gz، gzip، gif، jpeg، png، zip. لذلك فإن ضغط gzip النهائي يكسب 1% فقط من الحجم.
أعتقد أنه سيكون من الأفضل المطالبة بمساحة خالية أقل.
يذكر موضوع سابق من عام 2016 تعطيل ضغط النسخ الاحتياطي، ولكن يبدو أن تفريغ sql لم يكن مضغوطًا في ذلك الوقت، مما أدى إلى تحول المقايضات.
أنا أهدف إلى توفير وقت وحدة المعالجة المركزية. في الواقع، كنت أفكر في استخدام 0 كعلامة تغيير لمسار الكود بحيث لا يتم ضغط gzip (للأسف، الصفر ليس مستوى ضغط صالحًا مدعومًا عبر جميع إصدارات gzip، على حد علمي).
حسنًا، هذا لن يساعدني على الإطلاق! (وكذلك الآخرون الذين واجهوا نفس المشكلة مع مساحة القرص المحدودة.)
إذا تم استخدام tar، فيمكن استخدامه مع خيارات z أو j. إذا تم استخدام subshell، يمكن توجيه مخرجات tar إلى gzip. لكنني أعتقد في الواقع أنه قد يتم استخدام بعض وظائف ruby ذات المستوى الأعلى.
ربما لا ينبغي أن يكون الأمر صعبًا للغاية… أقدر أنه يجب إجراء تغييرات على النسخ الاحتياطي والاستعادة بعناية فائقة، ولكن أعتقد أن تضمين الضغط مباشرة سيوفر الكثير من متطلبات المساحة دون أي مشكلة توافق.
من tar --help
-a, --auto-compress استخدام لاحقة الأرشيف لتحديد الضغط
-z, --gzip, --gunzip, --ungzip تصفية الأرشيف عبر gzip