لا يمكن تحميل النسخة الاحتياطية

مرحباً!

لقد قمت للتو بتثبيت Discourse على خادم جديد، والآن أحاول تحميل نسخة احتياطية بحجم 400 ميجابايت تقريبًا.
تتوقف عند 40% مع الخطأ التالي:
Slow down, too many requests from this IP address. Please retry again in 2 seconds. Error code: ip_10_secs_limit.

ما هذا وكيف يمكنني حله؟

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

كحل بديل، يمكنك تحميل النسخة الاحتياطية عبر SCP. انظر Restore a backup from the command line لمزيد من المعلومات.

@martin هل يمكن أن يكون هذا ناتجًا عن التبديل إلى Uppy؟

إعجابَين (2)

لقد اتبعت الرابط الخاص بك لاستعادة النسخة الاحتياطية من سطر الأوامر، ولكن لم يتم استعادة أي شيء، فقد ظل كما هو الحال عند التثبيت الجديد.

هل يوجد في النسخة الاحتياطية ملف “app.yml” القديم وسيتم استبداله عند استعادة النسخة الاحتياطية؟ إذا لم يكن كذلك، فإن النسخة الاحتياطية بأكملها عديمة الفائدة.

لقد حاولت استعادة النسخة الاحتياطية من داخل Discourse والآن لدي موقع فارغ.

هذا من سطر الأوامر عندما أحاول استعادة النسخة الاحتياطية. بالطبع، اتبعت الأوامر من الرابط، ولكن يبدو أن شيئًا ما قد تغير.

Starting restore: backup-2021-12-06-185610-v20211201221028.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2021-12-18-163225 exists...
Copying archive to tmp directory...
EXCEPTION: lib/discourse.rb:127:in `exec': Failed to copy archive to tmp directory.
cp: cannot stat '/var/www/discourse/public/backups/default/backup-2021-12-06-185610-v20211201221028.tar.gz': No such file or directory
lib/discourse.rb:154:in `execute_command'
lib/discourse.rb:127:in `exec'
lib/discourse.rb:34:in `execute_command'
/var/www/discourse/lib/backup_restore/local_backup_store.rb:42:in `download_file'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:62:in `copy_archive_to_tmp_directory'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:22:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:477:in `exec'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:31:in `dispatch'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/cli.rb:25:in `start'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:49:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.26/exe/bundle:37:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2021-12-18-163225' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.
إعجاب واحد (1)

إذًا، لقد وضعت الملف في المكان الخطأ أو أن اسم الملف خاطئ. إذا كان الأمر الأخير، فقم بتشغيل

discourse restore

بدون اسم ملف سيقترح الملفات المتاحة.

إذا قمت بتشغيل

discourse backup

يمكنك رؤية أين تم وضع الملف. لن أحاول كتابة المسار الصحيح على هاتفي.

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

لا، لقد فعلت ذلك كما هو مكتوب هنا:

لذلك، إذا كان هذا هو المسار الخاطئ، فإن البرنامج التعليمي خاطئ. لهذا السبب سألت أين أضع الملف.

من السهل جدًا كتابة الأشياء بشكل خاطئ. لهذا السبب اقترحت طرقًا لاختبار ما إذا كنت قد وضعت الأشياء في المكان الصحيح. هل جربت

discourse restore

بدون اسم ملف؟

أعرف ما تقصده. لكنني فعلت ذلك بالضبط وفقًا للتعليمات (دون ارتكاب أي خطأ، نسخت المسارات)، لذلك أسأل عما إذا كانت التعليمات خاطئة أم أن شيئًا ما قد تغير في المسارات خلال العامين الماضيين.

سأحاول مرة أخرى، لكن ربما يتعين علي إعادة تثبيت Discourse مرة أخرى لأنني الآن لدي موقع فارغ فقط.

لا أعتقد أنه يمكنك نسخ ولصق هذه الجزئية دون تغييرها؟

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

أعتقد أن مسار الوجهة صحيح، وإلا كان ينبغي عليهم تحديد المكان الذي يجب نقله إليه بالضبط.

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

آه، فهمت. قرأت مشاركتك على أنها “لم يكن بإمكاني أن أخطئ في الكتابة لأنني نسختها ولصقتها كلها من الدليل”. :slightly_smiling_face:

لذلك، كان بإمكاني استعادة النسخة الاحتياطية باستخدام discourse restore، ولكن بعض الفئات مفقودة، والرأس بأكمله مفقود، ولا يمكنني تسجيل الدخول، وملف app.yml لا يزال كما هو في تثبيت جديد والعديد من الأشياء الأخرى.
كانت النسخة الاحتياطية من 06.12.21 واخترت نسخ كل شيء احتياطيًا، ولكن نصف الأشياء مفقودة.

لذلك، بالنسبة لي، عملية النسخ الاحتياطي والاستعادة بأكملها هي فوضى تامة!

هذا أمر محبط للغاية. أقدم لك خالص تعازيّ.

ملف app.yml غير مضمن في نسخة Discourse الاحتياطية. ستحتاج إلى نسخ واحد من نسختك القديمة، أو تعديل نسخة جديدة.

إعجابَين (2)

يجب قول هذا في وقت إنشاء النسخة الاحتياطية (كمعلومة في النهاية). ليس لدي وصول إلى الملف القديم، وإنشاء ملف جديد ممكن، لكن لا يمكنني تذكر الإضافات التي كانت لدي.

ولكن بعد ذلك لا يزال هناك سؤال لماذا بعض الفئات والمواضيع مفقودة، ولماذا الرأس مفقود ولا يمكنني تسجيل الدخول.

لست متأكدًا من ذلك. :slightly_smiling_face: هل قمت بتشغيل ./launcher discourse-setup على مثيلك الجديد؟

نعم، بالطبع. أم هل ينبغي ألا أفعل ذلك للاستعادة؟ أم تقصد بعد الاستعادة؟

اعتقدت أن ذلك قد يملأ بعض القطع المفقودة، لكنني لست متأكدًا.

قد يكون من المفيد أخذ الملف الاحتياطي واستعادته إلى منتديات جديدة مع ملف app.yml محدث، ومعرفة ما إذا كان ذلك أفضل.

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

لقد كان تثبيتًا جديدًا على خادم جديد، واعتقدت أن ملف app.yml موجود في النسخة الاحتياطية ولكني كنت مخطئًا. ليس لدي وصول إلى نسخة discourse “القديمة” لذلك لا توجد طريقة لاستعادة ملف app.yml كما يبدو.

هل يمكنك تعديل ملف app.yml الموجود لإضافة الأشياء التي تعتقد أنها قد تكون مفقودة؟ لست متأكدًا مما قد يمنع نسخ الفئات أو تسجيلات الدخول؟

هل قمت باستعادة ملف نسخة احتياطية كامل؟ توقف الملف الموجود في OP عند 40%. إذا قمت باستعادة هذا الإصدار، فقد يفسر ذلك سبب اختفاء نصف الأشياء الخاصة بك؟

أنا فقط أخمن في هذه المرحلة. :slightly_smiling_face: آسف لم أتمكن من تقديم المزيد من المساعدة.

عذرًا على هذه المشاكل. لا يمكنني تفسير كيف يمكن أن يحدث ذلك.

لا أستطيع تخيل طريقة لاستعادة بعض الفئات فقط من النسخة الاحتياطية. إذا تم استعادة بعض الفئات فقط، فهذا هو ما تحتويه النسخة الاحتياطية التي أخذتها. ربما لديك نسخة احتياطية قديمة.

ملف app.yml ليس له علاقة ببياناتك، بل فقط باسم المضيف وأشياء أخرى مطلوبة لإعداد Discourse. يمكنك استعادة أي قاعدة بيانات إلى أي موقع.

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

سأقوم بإعادة تثبيت Discourse مرة أخرى (باستخدام صورة خادم جديدة) وسأحاول استعادة النسخة الاحتياطية مرة أخرى.
كان التعليق بنسبة 40% يحدث عند التحميل في Discourse مباشرة، وبعد ذلك قمت بنسخ النسخة الاحتياطية عبر SCP إلى الخادم.

نعم، هذا صحيح، لكنني اعتقدت أنه سيتم حفظ شيء مهم في النسخة الاحتياطية أيضًا. الآن لا أعرف الإضافات التي قمت بتثبيتها في المثيل القديم وكيف كانت إعداداتها.
كانت النسخة الاحتياطية من 6 ديسمبر من هذا العام، أي قبل أيام قليلة فقط.