بالنسبة لمدير أنظمة خبير، تُعد أدوات مثل rsync أو scp الطريقة المفضلة لنقل الملفات الكبيرة، لكن في بعض الأحيان لا يكون لديك وصول SSH إلى المضيف الذي تحتاج فيه إلى استعادة ملف نسخة احتياطية كبير.
نظرًا لأن ملفات النسخ الاحتياطي تحتوي على معلومات حساسة، فإن منصة Discourse تمتلك ميزات أمان تجعل من الصعب للغاية على شخص غير مصرح له استعادة النسخة الاحتياطية. يجب عليك الحصول على رابط تنزيل عبر البريد الإلكتروني واستخدام هذا الرابط بعد تسجيل الدخول باسم المستخدم الذي طلب النسخة. إذا كنت ترغب في تنزيل البيانات باستخدام متصفح ويب، فإن العملية سلسة جدًا. أما إذا كنت ترغب في نقل النسخة الاحتياطية إلى خادم آخر على الإنترنت، فإن معظم مزودي خدمات الإنترنت المنزلي يجعلون هذه العملية أمرًا شاقًا. على اتصال الإنترنت المنزلي الخاص بي، يستغرق ملف بحجم 2.3 جيجابايت أكثر من 20 دقيقة للرفع. أما الملف بحجم 12 جيجابايت هنا، فسيستغرق حوالي ساعتين.
إليك كيفية الحصول على رابط يسمح لك بسحب نسخة احتياطية من موقع Discourse عبر wget.
أولاً، ابدأ عملية التنزيل كما هو معتاد، ثم افتح صفحة التنزيلات في متصفح Chrome (chrome://downloads/). انقر بزر الماوس الأيمن على الرابط وانسخه.
ثم، في سطر الأوامر (shell) على الجهاز الذي تريد حفظ الملف فيه، يمكنك لصق هذا الرابط في طلب wget. تأكد من وضع علامات اقتباس حول الرابط لأن الرموز \u0026 (وهي علامة & في الترميز) قد تسبب لك مشاكل. كما يجب عليك التأكد من الحفاظ على اسم ملف النسخة الاحتياطية الأصلي. يجب أن يبدو طلبك شيئًا مثل هذا:
wget --show-progress "https://bucket-name.s3.us-west-2.amazonaws.com/backups/xyz/multisitename/discourse-2020-11-19-001538-v20201116132948.tar.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIAWWK5WHOFJ%2F20201119%2Fus-west-2%2Fs3%2Faws4_request\u0026X-Amz-Date=20201119T013442Z\u0026X-Amz-Expires=300\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=1753b97a8aaf6953c89aa28628b8db" -o discourse-2020-11-19-001538-v20201116132948.tar.gz
يمكنك أيضًا حذف -o filename وإعادة تسمية الملف (الذي سيحمل عنوان URL الكامل كاسم له) بعد تنزيله. الرابط محدود زمنيًا، لذا ستحتاج إلى بدء التنزيل عندما تكون مستعدًا لسحبه إلى خادمك.
بعد ذلك، يمكنك نقل الملف إلى /var/discourse/shared/standalone/backups/default واستعادته من خلال واجهة الويب أو باستخدام الأمر التالي:
cd /var/discourse
./launcher enter app
discourse enable_restore
discourse restore
ستقوم الأمر الأخير أعلاه بطباعة قائمة بالنسخ الاحتياطية المتاحة، ويمكنك نسخ ولصق النسخة الصحيحة لبدء عملية الاستعادة.

