فشل استعادة البيانات بعد نقل Discourse

[2026-05-11 02:05:14] إعادة الاتصال بقاعدة البيانات...
[2026-05-11 02:05:14] إعادة تحميل إعدادات الموقع...
[2026-05-11 02:05:14] تعطيل البريد الإلكتروني الصادر للمستخدمين غير الموظفين...
[2026-05-11 02:05:14] تشغيل بذور fu...
[2026-05-11 02:05:31] تعطيل وضع القراءة فقط...
[2026-05-11 02:05:31] مسح ذاكرة التخزين المؤقت للفئات...
[2026-05-11 02:05:31] إعادة تحميل الترجمات...
[2026-05-11 02:05:31] إعادة تعيين خرائط التحميلات...
[2026-05-11 02:05:31] استعادة التحميلات، قد يستغرق هذا بعض الوقت...
[2026-05-11 02:05:33] استثناء: يمكنك تحديد ملخص تحقق واحد غير افتراضي فقط في كل مرة.
[2026-05-11 02:05:33] /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/seahorse/client/plugins/raise_response_errors.rb:17:in 'Seahorse::Client::Plugins::RaiseResponseErrors::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in 'Aws::S3::Plugins::SseCpk::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/dualstack.rb:21:in 'Aws::S3::Plugins::Dualstack::OptionHandler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/accelerate.rb:43:in 'Aws::S3::Plugins::Accelerate::OptionHandler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/checksum_algorithm.rb:167:in 'Aws::Plugins::ChecksumAlgorithm::OptionHandler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:16:in 'Aws::Plugins::JsonvalueConverter::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/invocation_id.rb:16:in 'Aws::Plugins::InvocationId::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in 'Aws::Plugins::IdempotencyToken::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/param_converter.rb:26:in 'Aws::Plugins::ParamConverter::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/seahorse/client/plugins/request_callback.rb:89:in 'Seahorse::Client::Plugins::RequestCallback::OptionHandler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/response_paging.rb:12:in 'Aws::Plugins::ResponsePaging::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/seahorse/client/plugins/response_target.rb:24:in 'Seahorse::Client::Plugins::ResponseTarget::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in 'block in Aws::Plugins::Telemetry::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/telemetry/no_op.rb:29:in 'Aws::Telemetry::NoOpTracer#in_span'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/telemetry.rb:53:in 'Aws::Plugins::Telemetry::Handler#span_wrapper'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in 'Aws::Plugins::Telemetry::Handler#call'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-core-3.244.0/lib/seahorse/client/request.rb:72:in 'Seahorse::Client::Request#send_request'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/client.rb:17315:in 'Aws::S3::Client#put_object'
/var/www/discourse/lib/file_store/to_s3_migration.rb:216:in 'block (2 levels) in FileStore::ToS3Migration#migrate_to_s3'
[2026-05-11 02:05:33] محاولة التراجع...
[2026-05-11 02:05:33] التراجع جاري...
[2026-05-11 02:05:34] تنظيف الأشياء...
[2026-05-11 02:05:34] إسقاط الدوال من مخطط discourse_functions...
[2026-05-11 02:05:34] إزالة المجلد المؤقت '/var/www/discourse/tmp/restores/default/2026-05-11-020447'...
[2026-05-11 02:05:34] إلغاء إيقاف sidekiq مؤقتًا...
[2026-05-11 02:05:34] تحديد الاستعادة على أنها منتهية...
[2026-05-11 02:05:34] إشعار 'niege' بنهاية الاستعادة...

كيف يمكن حل هذه المشكلة؟

أعتقد أن هناك مشكلة في توافق S3؟

هل النسخة التي تقوم باستعادتها محدثة بأحدث إصدار من Discourse؟

أعتقد أن هناك مشكلة هنا في
/var/www/discourse/lib/file_store/to_s3_migration.rb
ربما تتعلق بالحمولة المرسلة إلى put_object في السطر 216

لست متأكدًا من الحل الكامل، لكن أعتقد أنه لتحقيق ذلك قد تحتاج إلى تعطيل S3 (enable_s3_uploads: false) وإجراء الاستعادة والاستخراج محليًا. ثم إعادة تمكين S3 باستخدام أمر rake uploads:migrate_to_s3؟

@Lilly
نظرًا لانتهاء صلاحية الخادم، نحتاج إلى الانتقال إلى خادم جديد. قمت أولًا بنسخ بيانات discourse احتياطيًا.
قم بمزامنة ملف app.yml مع الخادم الجديد، ثم في الخادم الجديد:

./launcher rebuild app

بعد ذلك، قم برفع بيانات النسخ الاحتياطي إلى المسار التالي في الخادم الجديد: /var/discourse/shared/standalone/backups/default
استخدم الأمر:

./launcher enter app
discourse enable_restore
discourse restore xxxxxxxxxxxxxxxxxxxxx.tar.gz

فشل الاستعادة. بعد إعادة بناء discourse من جديد، حاولت الاستعادة من لوحة التحكم ولكن فشلت مرة أخرى. المرفق هو سجل الاستعادة:
log.txt (124.0 KB)

أخبرنا عن بيئتك، على سبيل المثال، أي مستودع كائنات تستخدم؟

أوبونتو 24.04.4 LTS (x86_64)

كلاودفلير R2