هل يمكنني فقط ضغط مجلد /var/discourse بالكامل وتشغيله على خادم جديد؟

لأنني عندما أحاول الترحيل باستخدام النسخ الاحتياطي المدمج، فإن عملية الضغط تملأ القرص الخاص بي بسرعة. كان لا يزال لدي حوالي 60 جيجابايت من المساحة الحرة، ولكن أثناء النسخ الاحتياطي، يمتلئ القرص ويفشل.

ومع ذلك، إذا قمت بضغط مجلد /var/discourse بأكمله يدويًا، فإن الأرشيف يكون حوالي 30 جيجابايت فقط (المجلد نفسه حوالي 34 جيجابايت).

نظرًا لأنه يتم تحرير السعة مباشرة عند امتلائها، فقد التقطت لقطة شاشة عند 80٪.

لذا فإن أسئلتي هي:

• هل يمكنني ببساطة ضغط مجلد /var/discourse بأكمله، ونقله إلى خادم جديد، وفك ضغطه، ثم تشغيل Discourse؟

• أم يجب علي اتباع الطريقة الموصى بها (نسخ احتياطي لقاعدة البيانات + نسخ التحميلات بشكل منفصل)؟

• هل هناك أي طريقة لتجنب امتلاء القرص أثناء عملية ضغط النسخ الاحتياطي؟

أهلاً،

ألقِ نظرة على هذا:

نعم، بوجود مساحة حرة أكبر :slight_smile:

بصرف النظر عن هذا الجواب الواضح، هناك طلبات ميزات لمنع النسخ الاحتياطي من استهلاك مساحة أكبر عند الإنشاء، ولكن لم يتم تلبيتها بعد: Reduce local disk space needs by not (redundantly) gzipping backups و Add option to disable backup compression

4 إعجابات

أيضًا، إذا لم تقم بتشغيل الأمر

./launcher cleanup

فقد يكون لديك الكثير من صور Docker التي تشغل مساحة.

5 إعجابات

أعتقد أن docker system prune قد تساعد

لقد جربت ذلك، حررته إلى 44 جيجابايت، إجمالي خادمي 98، ثم بدأت S3 مرة أخرى، ولا يزال الأمر لا يعمل، لا يوجد مساحة كافية، لا أعرف ما قاله Discourse عن أن النسخ الاحتياطية كبيرة جدًا

[2025-08-20 10:11:31] إنهاء النسخ الاحتياطي…

[2025-08-20 10:11:31] إنشاء الأرشيف: discourse-2025-08-20-101058-v20250812033430.tar.gz

[2025-08-20 10:11:31] التأكد من أن الأرشيف غير موجود بالفعل…

[2025-08-20 10:11:31] إنشاء أرشيف فارغ…

[2025-08-20 10:11:31] أرشفة تفريغ البيانات…

[2025-08-20 10:11:31] أرشفة التحميلات…

[2025-08-20 10:16:35] إزالة الدليل المؤقت ‘/var/www/discourse/tmp/backups/default/2025-08-20-101058’…

[2025-08-20 10:16:36] ضغط الأرشيف، قد يستغرق هذا بعض الوقت…

[2025-08-20 10:28:05] استثناء: gzip -1 /var/www/discourse/public/backups/default/discourse-2025-08-20-101058-v20250812033430.tar

فشل ضغط الأرشيف.

gzip: /var/www/discourse/public/backups/default/discourse-2025-08-20-101058-v20250812033430.tar.gz: لا يوجد مساحة متبقية في الجهاز

[2025-08-20 10:28:05] /var/www/discourse/lib/discourse.rb:171:in `execute_command’

/var/www/discourse/lib/discourse.rb:137:in `exec’

/var/www/discourse/lib/discourse.rb:32:in `execute_command’

/var/www/discourse/lib/backup_restore/backuper.rb:253:in `create_archive’

/var/www/discourse/lib/backup_restore/backuper.rb:40:in `run’

/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup’

/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in ’

/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork’

/var/www/discourse/script/spawn_backup_restore.rb:4:in `’

[2025-08-20 10:28:05] حذف النسخ الاحتياطية القديمة…

[2025-08-20 10:28:06] تنظيف الأشياء…

[2025-08-20 10:28:06] إزالة بقايا ‘.tar’…

[2025-08-20 10:28:07] وضع علامة على النسخة الاحتياطية على أنها مكتملة…

[2025-08-20 10:28:07] إخطار ‘VegaMonika’ بنهاية النسخة الاحتياطية…

أعتقد أنك ستحتاج إلى حذف ملف .tar المتبقي في /var/discourse/shared/standalone/backups/default

يبدو أن لديك عدد تحميلات أكثر مما يمكن أن يتسع له النسخ الاحتياطي. ستحتاج إلى (1) الحصول على قرص أكبر، (2) نقل الأصول إلى Spaces أو S3، (3) نقل التحميلات إلى وحدة تخزين، (4) عدم عمل نسخ احتياطي للتحميلات

الحل الفوري الأبسط، بعد حذف ملف .tar، هو عدم عمل نسخ احتياطي للتحميلات.

لقد قمت بعمل نسخة من هذا كجزء من الانتقال من مثيل EC2 واحد إلى مثيل أكبر، ولكن مع التحذير بأن الخادم الجديد الذي كنت أستخدمه كان سيحتوي على نفس صورة نظام التشغيل الأساسية، واسم المضيف، والبرامج المثبتة، وعنوان IP للخادم القديم بالضبط. بعد نقل /var/discourse إلى الصندوق الجديد، قمت بتشغيل launcher rebuild app وعاد الموقع للعمل مباشرة.

لذلك في ظل تلك الظروف المحددة للغاية، نجحت بشكل رائع في المرة الوحيدة التي جربتها فيها.

إعجاب واحد (1)

إنها طريقة فوضوية للانتقال، ولكن طالما أنها تثبيت افتراضي وتتأكد من إيقاف جميع حاويات Docker الخاصة بك أولاً، فمن المحتمل أن تعمل.

إعجاب واحد (1)

snap remove aws-cli

.\\launcher stop app

docker system prune

apt autoremove

.\\launcher enter app

discourse backup

docker cp “app:/var/www/discourse/public/backups/default/your-site-2006-01-02-150405-v20200101150405.tar.gz “ “root@[server_ip_address]:/var/discourse/shared/standalone/backups/default/your-site-2006-01-02-150405-v20200101150405.tar.gz“

exit

snap install aws-cli --classic

aws configure

aws s3 cp “/var/discourse/shared/standalone/backups/default/your-site-2006-01-02-150405-v20200101150405.tar.gz“ “myBucket://your-site-2006-01-02-150405-v20200101150405.tar.gz“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.