كيفية تنزيل النسخ الاحتياطي واستعادة قاعدة البيانات المحلية في Discourse

انتقل إلى واجهة النسخ الاحتياطي للموقع، وسترى جميع النسخ الاحتياطية الحالية.


انقر فوق زر التنزيل.

تجدر الإشارة إلى أنه عند التنزيل، سيرسل النظام رابطًا إلى عنوان بريدك الإلكتروني.

يمكنك استخدام الرابط المستلم في عنوان بريدك الإلكتروني لتنزيل البيانات.

رابط التنزيل

انقر فوق عنوان رابط التنزيل المستلم في البريد الإلكتروني للتنزيل.


الملف الذي تم تنزيله هو ملف tar.gz، وتحتاج إلى فك ضغطه لاستخدامه.

على سبيل المثال، ملف التنزيل الحالي لدينا هو: isharkfly-2023-09-14-092024-v20230910021213.tar

بعد سلسلة من مسارات فك الضغط المعقدة، يمكنك رؤية ملف dump.sql.

هذا الملف هو كل النسخ الاحتياطية لقاعدة بياناتك.

استعادة البيانات

مسار تثبيت psql لـ PQadmin على نظام Windows هو: C:\Users\yhu\AppData\Local\Programs\pgAdmin 4\v7\runtime

أمر التشغيل الخاص بنا هو: psql -h nas1120 -p 5433 -U postgres -W -d discourse -f C:\\Users\\yhu\\Downloads\\isharkfly-2023-09-14-092024-v20230910021213\\isharkfly-2023-09-14-092024-v20230910021213\\dump.sql\\dump.sql

لا يمكن استعادة قاعدة البيانات المحلية بشكل متكرر عند الاستعادة.

إذا كانت قاعدة بياناتك المحلية موجودة بالفعل، فيجب عليك مسح قاعدة البيانات المحلية الموجودة قبل الاستعادة.

تتطلب عملية استعادة النسخ الاحتياطي استعادة جميع البيانات وهياكل الجداول.

لا يمكن لبرنامج الاستعادة الاستعادة على بنية البيانات الموجودة، ولا يمكن إجراء استعادة تزايدية.

التحقق من بيانات الجدول

تحقق من بيانات الجدول للتأكد من استعادة بعض بيانات الجدول إلى الوضع الحالي.


عادة ما تكون الطوابع الزمنية طريقة جيدة للتحقق.

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

إضافة.
إذا فشلت خدمة البريد، يمكن للمسؤولين الذين لديهم أذونات ssh رؤية جميع ملفات النسخ الاحتياطي في /var/discouse/{standalone | web_only}/backup/default.

A note:
If the mail service fails, admin with ssh permissions can see all backup files in /var/discouse/{standalone | web_only}/backup/default.

3 إعجابات

كيف يمكنني استخدام Minio للنسخ الاحتياطي؟ لا أفهم رسائل الخطأ في السجل، السجل كالتالي:

....
[2023-10-03 13:33:24] Removing tmp '/var/www/discourse/tmp/backups/default/2023-10-03-133319' directory...
[2023-10-03 13:33:24] Gzipping archive, this may take a while...
[2023-10-03 13:33:25] Uploading archive...
[2023-10-03 13:33:27] EXCEPTION: Aws::S3::Errors::Forbidden
[2023-10-03 13:33:27] /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:445:in `rescue in exists?'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/aws-sdk-s3-1.114.0/lib/aws-sdk-s3/object.rb:440:in `exists?'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:46:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:344:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41: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 <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2023-10-03 13:33:27] Deleting old backups...
[2023-10-03 13:33:28] Cleaning stuff up...
[2023-10-03 13:33:28] Removing archive from local storage...
[2023-10-03 13:33:28] Removing '.tar' leftovers...
[2023-10-03 13:33:28] Marking backup as finished...
[2023-10-03 13:33:28] Notifying 'XXX' of the end of the backup...

يجب أن يشير السجل أعلاه إلى عدم وجود إذن لـ S3.

تأكد من أن إعدادات إذن S3 الخاصة بك صحيحة.

هذه هي إعداداتي، هل يمكن للمحترفين إلقاء نظرة ومعرفة أين حدث الخطأ في الإعداد:

  1. إعدادات Discourse
  2. إعدادات أذونات سلة النسخ الاحتياطي لـ Minio
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "*"
                ]
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": [
                "arn:aws:s3:::discourse-backup"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "*"
                ]
            },
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::discourse-backup/*"
            ]
        }
    ]
}
  1. أذونات سلة التحميل لـ Minio هي public

راجع هذه المقالة لمعرفة ذلك: discourse-docs/minio.md at master · rishabhnambiar/discourse-docs · GitHub

لا تزال هذه المقالة من وقت كان يدعم نمط المسار (path style)، والآن يدعم فقط نمط DNS، ولا يمكن العثور على أي دروس تكوين لاستخدام Minio في جميع أنحاء الإنترنت.

إذًا، قد يكون الأمر متعلقًا بإعدادات Minio.

جرب استخدام أدوات أخرى، مثل الأدوات التي يمكنها الوصول مباشرة إلى الحاوية، لمعرفة ما إذا كان يمكنك التحميل مباشرة.

إذا كان التحميل ممكنًا مباشرة هنا، فمن المحتمل أن تكون المشكلة في تكوين Discourse. وإذا لم يكن التحميل ممكنًا مباشرة هنا، فمن المحتمل أن تكون المشكلة في الأذونات.