استخدم rclone لمزامنة النسخ الاحتياطية على Dropbox أو Google Drive

هناك إضافة تتيح لك مزامنة نسخ احتياطية من discourse مع مزودي تخزين سحابي مختلفين. للأسف، لا تعمل حاليًا مع Dropbox وGoogle Drive. ومع ذلك، إذا كنت ترغب في تخزين نسختك الاحتياطية على Dropbox أو Google Drive، فاتبع الخطوات أدناه. سأستخدم Dropbox كمثال، لكن التعليمات ستنطبق أيضًا على أي واجهة خلفية مدعومة بواسطة rclone.

تنبيه: تم اختبار التعليمات على Ubuntu 16.04 وهي تعمل لدي، لكنني لست خبيرًا في هذا المجال، لذا قد تكون هناك طرق أفضل للقيام بذلك. لا تتردد في تصحيحني وسأكون سعيدًا بتحديث هذا المنشور.

تثبيت rclone

sudo curl https://rclone.org/install.sh | sudo bash

إذا فشل الأمر أعلاه، فقد يُطلب منك تثبيت أداة فك الضغط:

sudo apt-get install unzip

منح الوصول إلى Dropbox

هذه هي الخطوة الأصعب لأنك تحتاج إلى متصفح لمنح rclone الوصول إلى Dropbox، وهو أمر غير سهل، بل صعب جدًا عند الاتصال بسيرفر VPS عبر SSH. لذا يجب أن تنفذ الأمر على خطوتين:

على السيرفر، نفذ الأمر التالي:

sudo rclone config

واتبع التعليمات. في مرحلة ما، سيُطلب منك:

Use auto config?

أجب بـ N

الآن يجب أن تنتقل إلى جهاز سطح المكتب الخاص بك للحصول على رمز المصادقة. هذا يعني أنك بحاجة إلى تثبيت rclone على جهاز سطح المكتب (يمكنك تحميل Rclone لنظام Windows من هنا: Rclone downloads) واتباع التعليمات الموجودة في Remote Setup.

بمجرد حصولك على الرمز ولصقه في موجه SSH الذي كان في انتظاره، يمكنك التحقق من نجاح العملية عن طريق الحصول على قائمة بجميع المجلدات في Dropbox الخاص بك:

rclone lsd drobo:

حيث drobo هو الاسم الذي منحته لـ Dropbox سابقًا.

نسخ النسخ الاحتياطية إلى Dropbox

ابحث عن ملفات النسخ الاحتياطية الخاصة بك. عادةً ما تجدها في /var/discourse/shared/standalone/backups/default. إذا كنت تستخدم إعدادًا مكونًا من حاويتين، فستكون على الأرجح في /var/discourse/shared/web-only/backups/default

الأمر المستخدم لنسخ النسخ الاحتياطية إلى مجلد النسخ الاحتياطية في Dropbox سيكون:

sudo rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups

إعداد مهمة مجدولة (cron job) لنسخ النسخ الاحتياطية إلى Dropbox

لنسخ النسخ الاحتياطية يوميًا الساعة 6 مساءً، أضف ما يلي إلى جدول المهام (crontab):

crontab -e

وأضف السطر التالي:

0 18 * * * rclone copy /var/discourse/shared/standalone/backups/default --exclude tmp/ drobo:backups

يمكنك تشغيله بشكل أكثر تكرارًا إذا رغبت، حيث سيتم نسخ الملفات الجديدة فقط.

لاحظ أن خيار copy سيضيف نسخًا احتياطية أكثر فأكثر إلى Dropbox حتى لو تم حذف النسخ على السيرفر. إذا كنت ترغب فقط في الاحتفاظ بالنسخ الموجودة على السيرفر أيضًا، فاستخدم sync بدلاً من copy.

16 إعجابًا

نصائح لمن يقومون بمزامنة النسخ الاحتياطية الخاصة بهم على Google Drive بشكل متكرر (على سبيل المثال، يوميًا) عبر مهمة cron ولا يملكون مساحة خالية كبيرة على محرك الأقراص الخاص بهم، أوصي بإضافة العلامة --drive-use-trash=false إلى أمر rclone الخاص بهم.

مثال:

rclone sync /var/discourse/shared/standalone/backups/default --drive-use-trash=false --exclude tmp/ discourse:

مع هذه العلامة، سيقوم rclone بحذف النسخ الاحتياطية القديمة من Google Drive بدلاً من إرسالها إلى سلة المهملات، حيث تبقى لمدة 30 يومًا قبل حذفها تلقائيًا. يمكن أن يوفر هذا مساحة كبيرة على Drive.

4 إعجابات