لذلك قمت بالتحقق من BunnyCDN. يمكنني تأكيد أن النسخ الاحتياطي لم يمر عبر شبكة CDN، حيث تشير بيانات حركة المرور إلى 0 كيلوبايت. عنوان URL الخاص بمزود CDN المضيف يختلف عن عنوان URL الخاص بالرفع، مما يوحي بأن Discourse لا يستخدمه. ومع ذلك، يمكنني تأكيد أن النسخ الاحتياطية يتم رفعها إلى Backblaze B2 من Discourse.
آه، عظيم، شكرًا لك على التحقق. هذا يؤكد ما كنت أشك فيه. ربما يجب على @Bill تحديث دليل المنشور الأصلي؟
بالتأكيد! لست متأكداً من الصياغة المناسبة. هل يجب أن أذكر فقط أنك تحتاج إلى منطقة سحب واحدة فقط، وأن شبكة CDN لا يمكنها الوصول إلى دلو خاص؟
أود حذف كل شيء بدءًا من “في لوحة تحكم BunnyCDN، يجب عليك إنشاء منطقة سحب ثانية” وصولًا إلى الفقرة التي تنتهي بـ “الطبقة القياسية 10$/TB” التي استخدمتها لدلو التحميلات الخاصة بي.
أيضًا، يبدو أنك تحتاج بالفعل إلى منطقة سحب ثانية لشبكة توصيل المحتوى، لكنها ليست مخصصة للنسخ الاحتياطي. لقد كنت مرتبكًا بشأن هذا الأمر، ولم أستطع تفعيل التحميلات الخارجية حتى قمت بإعداد منطقة سحب واحدة بشكل صحيح لإرسال التحميلات إلى BackBlaze (كما أوضحت) ومنطقة سحب ثانية لسحب الأصول من BackBlaze. راجع سؤالي حول ذلك والرد الذي حصلت عليه هنا لمزيد من المعلومات.
يبدو أنني لم أعد أملك صلاحيات Discourse لتحرير الموضوع الأصلي، ربما انتهت صلاحيتها بعد فترة زمنية محددة أو لأنني عدّلت عليه مرات عديدة. لا أستطيع الوصول إلى منطقة التحرير.
آه، حسنًا. أظن أنك ستحتاج إلى سؤال مشرف. على أي حال، ورغم وجود خلل تقني، إلا أنني ممتن لدليلك!
أصبح المنشور الأول ويكي الآن (كان كذلك عندما تفحصته، لست متأكدًا مما إذا كان شخص ما قد وصل إليه قبل الآن)، لذا يمكن لأي مستخدم بمستوى TL1 أو أعلى تحريره.
مرحباً، أردت فقط أن أذكر أن Bunny عقدت شراكة مع Backblaze أيضاً! لذا، أصبح النقل من Backblaze إلى Bunny مجانياً تماماً الآن، لذا، بالإضافة إلى المزيد من الأمان، يمكنك ببساطة نقل البيانات إلى Bunny دون المرور عبر cloudflare!
هل هذه الخطوة مبالغ فيها؟ أعتقد أن سؤالاً أفضل قد يكون… ما مدى أهمية فوائد اتخاذ هذه الخطوة الإضافية إذا كان لديك بالفعل Backblaze معدًا للتخزين و Bunny كشبكة توصيل المحتوى؟ أي رؤى حول هذا ستكون مفيدة جدًا لي. ![]()
أحتاج إلى بعض المساعدة. لقد تعمقت في الأمر (اعذروا التورية المتعلقة بالأرانب) خلال اليومين الماضيين، محاولًا إرسال النسخ الاحتياطية والصور إلى Backblaze.
لقد استخدمت منشور المنتدى هذا ومنشورات أخرى لمحاولة إعداده. الآن أستمر في تلقي رسالة خطأ بشأن النسخ الاحتياطية (على الرغم من أنني لم أتمكن بعد من جعل التحميلات تعمل، ولكن أول الأشياء أولاً مع النسخ الاحتياطية).
لقد قمت بإعداد مستودعات في Backblaze، ومفاتيح، ومناطق السحب.
هذه هي الإعدادات في “All Site Settings” لـ S3
هذه هي الإعدادات في “Backup Settings”
هذا هو ملف app.yml الخاص بي - القسم الثاني الذي تم التعليق عليه، كنت ألعب به بالأمس ولكنه كان يتسبب في تعليق Discourse على شاشة التحميل.
عندما أقوم بتشغيل النسخ الاحتياطية، أحصل على هذه الشاشة، أعتقد أن ذلك بسبب أنني لم أجعل جزء التحميلات يعمل. قد يكون غير ذي صلة ولكني اعتقدت أنه يجب علي إضافته.
هذا هو سجل الأخطاء على النسخة الاحتياطية
هذا هو سجل الأخطاء
يجب أن أذكر أيضًا أنني قمت بتشغيل مهام Rake باستخدام
rake uploads:migrate_to_s3
rake posts:rebake
عقلي يدور في حلقات بعد يومين من محاولة جعله يعمل. هل يمكن لأحد مساعدتي في معرفة أين أخطأت؟ آمل أن أكون قد أدرجت كل ما هو مطلوب لاستكشاف الأخطاء وإصلاحها. ![]()
إذا كانت لديك الإعدادات في ملف yml الخاص بك، فلن تظهر في “System Settings”.
مرحبًا، شكرًا على الرد. حاولت ذلك الرابط أمس ولم ينجح، حيث توقف الموقع عن التحميل.
أبعد ما تمكنت من الوصول إليه هو باستخدام الإعدادات الحالية التي لدي. على الرغم من أنه يبدو أنه يشتكي من منطقة غير صالحة ولست متأكدًا من الإعداد الذي أحتاج إلى تغييره.
ذلك لأنه لديك جزء في الأعلى يرفع الأصول إلى s3
لقد أضفت كود الخطافات واستخدمت التكوين من الرابط الذي نشرته مرة أخرى. إنه يتجمد مرة أخرى.
لقد علقت هذا التكوين مرة أخرى وأعدت التكوين الذي كنت أستخدمه سابقًا. لاحظت أن إعداد منطقة s3 الذي كان لدي كان عنوان URL كاملاً لذلك قمت بتغييره ليكون ‘us-west-002’
الآن عندما أقوم بتشغيل النسخ الاحتياطي، فإنه يفشل وأحصل على خطأ مختلف - استثناء: رأس غير مدعوم ‘x-amz-checksum-crc32’ تم استلامه لهذه المكالمة API.
أعتقد أنني قد أستسلم وأذهب يدويًا لتنزيل النسخ الاحتياطية كل يوم.
لقد حاولت جاهدًا جعل هذا يعمل مع خطر فقدان عقلي ؛)\n\nلذلك، فإن آخر خطأ في المجموع الاختباري (checksum) الذي حصلت عليه، قمت بحله بمساعدة هذا - Can't rebuild due to AWS SDK gem bump and new AWS Data Integrity Protections - #28 by PatPatterson \n\nتم ذلك عن طريق إضافة ما يلي إلى قسم env في app.yml\n\n \n\nAWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED\n AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED\n\n\n\nوتعليق هذا في قسم hooks في app.yml\n\n\n\nafter_assets_precompile:\n - exec:\n cd: $home\n cmd:\n - sudo -E -u discourse bundle exec rake s3:upload_assets\n # - sudo -E -u discourse bundle exec rake s3:expire_missing_assets\n\nالإعدادات الأخرى لـ env تم ضبطها على هذا\n\n\n\nDISCOURSE_S3_ACCESS_KEY_ID: 'key'\n DISCOURSE_S3_SECRET_ACCESS_KEY: ‘key’\n DISCOURSE_BACKUP_LOCATION: 's3'\n DISCOURSE_ENABLE_S3_UPLOADS: true\n DISCOURSE_S3_BACKUP_BUCKET: 'backupbucketonbackblaze’\n DISCOURSE_S3_REGION: 'us-west-002'\n DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true\n\n\nلقد قمت بعمل نسخة احتياطية قبل تضمين DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true\n\nوكان لدي نسخة احتياطية ناجحة إلى Backblaze. يا للروعة!!!\n\nعندما وضعت السطر في app.yml لتضمين التحميلات، حدث خطأ في النسخة الاحتياطية وهو كالتالي\n\n\n\nEXCEPTION: tar --append --file /var/www/discourse/public/backups/default/my-server-name-2025-04-17-222758-v20250417043438.tar uploads/default\nFailed to append uploads to archive.\ntar: uploads/default: Cannot stat: No such file or directory\ntar: Exiting with failure status due to previous errors\n\nلست متأكدًا من مكان هذا الدليل المفترض أن يكون أو كيفية إصلاحه. هل هو دليل أحتاج إلى إنشائه على خادم Discourse أو Backblaze؟ أم إعداد فاتني في إعدادات الموقع أو app.yml\n\nأي توجيه سيكون محل تقدير كبير.




