لقد قمت للتو بتثبيت Discourse على خادم جديد، والآن أحاول تحميل نسخة احتياطية بحجم 400 ميجابايت تقريبًا.
تتوقف عند 40% مع الخطأ التالي: Slow down, too many requests from this IP address. Please retry again in 2 seconds. Error code: ip_10_secs_limit.
لقد اتبعت الرابط الخاص بك لاستعادة النسخة الاحتياطية من سطر الأوامر، ولكن لم يتم استعادة أي شيء، فقد ظل كما هو الحال عند التثبيت الجديد.
هل يوجد في النسخة الاحتياطية ملف “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.
أعرف ما تقصده. لكنني فعلت ذلك بالضبط وفقًا للتعليمات (دون ارتكاب أي خطأ، نسخت المسارات)، لذلك أسأل عما إذا كانت التعليمات خاطئة أم أن شيئًا ما قد تغير في المسارات خلال العامين الماضيين.
سأحاول مرة أخرى، لكن ربما يتعين علي إعادة تثبيت Discourse مرة أخرى لأنني الآن لدي موقع فارغ فقط.
لذلك، كان بإمكاني استعادة النسخة الاحتياطية باستخدام discourse restore، ولكن بعض الفئات مفقودة، والرأس بأكمله مفقود، ولا يمكنني تسجيل الدخول، وملف app.yml لا يزال كما هو في تثبيت جديد والعديد من الأشياء الأخرى.
كانت النسخة الاحتياطية من 06.12.21 واخترت نسخ كل شيء احتياطيًا، ولكن نصف الأشياء مفقودة.
لذلك، بالنسبة لي، عملية النسخ الاحتياطي والاستعادة بأكملها هي فوضى تامة!
يجب قول هذا في وقت إنشاء النسخة الاحتياطية (كمعلومة في النهاية). ليس لدي وصول إلى الملف القديم، وإنشاء ملف جديد ممكن، لكن لا يمكنني تذكر الإضافات التي كانت لدي.
ولكن بعد ذلك لا يزال هناك سؤال لماذا بعض الفئات والمواضيع مفقودة، ولماذا الرأس مفقود ولا يمكنني تسجيل الدخول.
لقد كان تثبيتًا جديدًا على خادم جديد، واعتقدت أن ملف app.yml موجود في النسخة الاحتياطية ولكني كنت مخطئًا. ليس لدي وصول إلى نسخة discourse “القديمة” لذلك لا توجد طريقة لاستعادة ملف app.yml كما يبدو.
عذرًا على هذه المشاكل. لا يمكنني تفسير كيف يمكن أن يحدث ذلك.
لا أستطيع تخيل طريقة لاستعادة بعض الفئات فقط من النسخة الاحتياطية. إذا تم استعادة بعض الفئات فقط، فهذا هو ما تحتويه النسخة الاحتياطية التي أخذتها. ربما لديك نسخة احتياطية قديمة.
ملف app.yml ليس له علاقة ببياناتك، بل فقط باسم المضيف وأشياء أخرى مطلوبة لإعداد Discourse. يمكنك استعادة أي قاعدة بيانات إلى أي موقع.
سأقوم بإعادة تثبيت Discourse مرة أخرى (باستخدام صورة خادم جديدة) وسأحاول استعادة النسخة الاحتياطية مرة أخرى.
كان التعليق بنسبة 40% يحدث عند التحميل في Discourse مباشرة، وبعد ذلك قمت بنسخ النسخة الاحتياطية عبر SCP إلى الخادم.
نعم، هذا صحيح، لكنني اعتقدت أنه سيتم حفظ شيء مهم في النسخة الاحتياطية أيضًا. الآن لا أعرف الإضافات التي قمت بتثبيتها في المثيل القديم وكيف كانت إعداداتها.
كانت النسخة الاحتياطية من 6 ديسمبر من هذا العام، أي قبل أيام قليلة فقط.