كيفية استخدام برنامج النسخ الاحتياطي restic على نظام Linux

احمِ ملفاتك الثمينة والصور التي لا يمكن تعويضها باستخدام برنامج النسخ الاحتياطي restic. إنه سريع ومشفّر ويمكنك استخدامه مباشرة من سطر أوامر Linux. إليك كيفية إعداده.

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

جميع الأجهزة لها عمر محدود. ميكانيكي محركات الأقراص الصلبة (HDDs) و محركات الأقراص الصلبة (SSDs) لا تدوم إلى الأبد. تحدث الحوادث أيضًا. يمكن أن تُفقد أجهزة الكمبيوتر المحمولة أو تُسرق أو تسقط على الدرج.

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

علاوة على كل شيء آخر ، يعتبر الفقد العرضي – أو الضار – لبيانات التعريف الشخصية انتهاكًا بموجب بعض تشريعات حماية البيانات ، مثل اللائحة العامة لحماية البيانات (اللائحة العامة لحماية البيانات).

هناك بعض الاعتبارات التي يجب مراعاتها عند اختيار برنامج النسخ الاحتياطي. أين تريد الاحتفاظ بنسخك الاحتياطية؟ على محرك أقراص قابل للإزالة ، على جهاز آخر عبر ملف شبكة المنطقة المحلية (LAN) أو في التخزين السحابي؟ من الواضح أنك بحاجة إلى استخدام برنامج نسخ احتياطي يمكنه الكتابة والاستعادة من تخزين البيانات الذي ترغب في استخدامه.

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

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

restic كل هذا. إنه مجاني ومفتوح المصدر ومرخص بموجب 2-رخصة BSD، وتحت التطوير النشط. كود المصدر قيد التشغيل جيثب.

إلى أين النسخ الاحتياطي

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

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

خارج الصندوق ، ريستيك يمكن نسخ احتياطي إلى:

  • دليل محلي أو محرك أقراص محلي قابل للإزالة.
  • كمبيوتر متصل بالشبكة عبر بروتوكول نقل الملفات SSH (بروتوكول SFTP). هذا ، بالطبع ، يتطلب صدفه آمنه (SSH).
  • خادم HTTP REST.
  • AWS S3.
  • OpenStack Swift.
  • BackBlaze B2.
  • تخزين Microsoft Azure Blob.
  • جوجل كلاود التخزين.

إذا كنت بحاجة إلى النسخ الاحتياطي إلى وجهة بيانات ليست في تلك القائمة ، يمكنك الجمع بين القوة من rclone مع restic و النسخ الاحتياطي إلى أي من 40 أو نحو ذلك الوجهات التي يدعمها rclone.

تتطلب النسخ الاحتياطية لشبكة SFTP تثبيت SSH وتكوينه على خادم النسخ الاحتياطي. هذا هو الجهاز الذي سيتم تخزين النسخ الاحتياطية عليه. إذا قمت بإعداد مفاتيح SSH على خادم النسخ الاحتياطي والجهاز الذي ستقوم بنسخه احتياطيًا ، فلن تتم مطالبتك بكلمة مرور SSH في كل مرة تقوم فيها بتشغيل نسخة احتياطية.

تتمثل إحدى طرق أتمتة النسخ الاحتياطية في إنشاء ملفات نصوص قصيرة أو وظائف شل واستخدم cron لتشغيلها في أوقات محددة. سيسمح لك استخدام مفاتيح SSH بتجنب مشكلة توفير كلمة مرور للنسخ الاحتياطية غير المراقبة.

تركيب ريستيك

يوجد تطبيق restic في مستودعات توزيعات Linux الرئيسية ، لذا فإن تثبيته عبارة عن سطر واحد بسيط باستخدام مدير الحزم لكل توزيع.

لتثبيت restic على Ubuntu ، اكتب:

sudo apt install restic

الأمر الذي يجب استخدامه في Fedora هو:

sudo dnf install restic

في Manjaro نستخدمها pacman:

sudo pacman -Sy restic

إعداد restic

تأكد من إعداد SSH على جهاز خادم النسخ الاحتياطي ، وأنه يمكنك إجراء اتصال عن بُعد به من الجهاز الذي ستقوم بعمل نسخة احتياطية منه. هذا هو جهاز العميل. في شبكة الاختبار الخاصة بنا ، يُطلق على العميل اسم “ubuntu-20-10” ، ويسمى الخادم “صندوق النسخ الاحتياطي”.

في مصطلحات restic ، يتم تخزين النسخ الاحتياطية كلقطات في المستودع. تنشئ كل نسخة احتياطية لقطة جديدة. نحتاج إلى إنشاء مكان للمستودع على الخادم.

نحتاج إلى إنشاء دليل على خادم النسخ الاحتياطي للاحتفاظ بالمستودع. تاريخيًا ، كانت الخدمات التي تم تقديمها بواسطة الخادم موجودة في دليل “/ srv”. لذلك سنضع مستودعنا هناك.

على خادم النسخ الاحتياطي ، قم بإصدار هذا الأمر. يمكنك تسمية دليل المستودع كما تريد. نحن نستخدم الاسم “restic” من أجل البساطة.

sudo mkdir /srv/restic

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

sudo chown dave:dave /srv/restic

دعنا نتحقق من الإعدادات في الدليل:

ls -hl /srv

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

نحن نستخدم ملف -r (المستودع) لتحديد المسار إلى المستودع الذي سننشئه. ريستيك initيقوم الأمر بتهيئة المستودع.

restic -r sftp:[email protected]:/srv/restic init

سيُطلب منك كلمة المرور لحساب المستخدم على خادم النسخ الاحتياطي. إذا قمت بإعداد مفاتيح SSH بين الخادم والعميل ، فلن تحتاج إلى تنفيذ هذه الخطوة.

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

يستغرق إنشاء المستودع وتهيئته لحظة واحدة فقط.

إنشاء نسخة احتياطية

إنشاء نسخة احتياطية بسيط للغاية. نحن نستخدم ال backup الأمر مع restic ، أخبره بما نريد نسخه احتياطيًا ، وأي مستودع نرسل النسخة الاحتياطية إليه.

restic backup Documents/kernel/ -r sftp:[email protected]:/srv/restic

تحتاج إلى توفير كلمة مرور المستخدم وكلمة المرور للمستودع. أثناء تشغيل النسخ الاحتياطي ، يتم عرض أسماء الملفات التي يتم نسخها ، إلى جانب إحصائيات تخبرك عن عدد الملفات التي سيتم نسخها إجمالاً ، وعدد الملفات التي تم نسخها حتى الآن ، والنسبة المئوية للنسخ الاحتياطي الكامل. يتم تشفير اللقطات باستخدام امتداد معيار التشفير المتقدم AES-256.

نظرًا لأن هذه كانت النسخة الاحتياطية الأولى لهذا المستودع ، فإن جميع الملفات التي تم نسخها احتياطيًا كانت جديدة. قلنا أن restic كان سريعًا – تم نسخ أكثر من 70000 ملف احتياطيًا في 23 ثانية. هذا هو كل كود المصدر لـ Linux kernel.

على جهاز اختبار آخر ، قمت بنسخ أكثر من 350.000 ملف يصل حجمها إلى أكثر من 170 جيبي في ساعة ونصف.

لقد أنشأت ملفًا جديدًا على العميل في دليل المصدر وقمت بتشغيل نسخة احتياطية أخرى. الأمر هو نفسه كما كان من قبل.

restic backup Documents/kernel/ -r sftp:[email protected]:/srv/restic

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

دعنا نلقي نظرة على اللقطتين اللتين لدينا في المستودع. الأمر restic لهذا هو snapshots.

restic -r sftp:[email protected]:/srv/restic snapshots

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

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

تمامًا كما هو الحال مع النسخ الاحتياطي السابق ، استغرق هذا التحديث الصغير ثلاث ثوان لإكماله.

الآن ، ربما تعبت من إدخال كلمة مرور المستودع. يمكننا معالجة ذلك قبل استخدام ملف snapshots أمر لإلقاء نظرة على مجموعتنا من ثلاث لقطات. افتح محررًا واكتب كلمة مرور المستودع فيه ، ثم اضغط على “إدخال” لبدء سطر جديد. احفظ الملف باسم “.rest_pass” في دليل منزلك.

للتأكد من عدم تمكن أي شخص آخر من رؤية كلمة المرور ، قم بتغيير وضع الوصول بتات الملف باستخدام chmod :

chmod 600 .rest_pass

هذا يعني أنه لا يمكن لأحد غيرك الوصول إلى الملف.

الآن يمكننا تمرير هذا إلى سطر الأوامر الباقي باستخدام -p (ملف كلمة المرور) الخيار. إذا قمت أيضًا بإعداد مفاتيح SSH بين العميل والخادم ، فلن تضطر إلى إدخال كلمة مرور حساب المستخدم أيضًا. يمكنك بسهولة أتمتة النسخ الاحتياطية الخاصة بك باستخدام ملفات cron بمجرد إزالة التفاعل البشري من العملية.

restic snapshots -r sftp:[email protected]:/srv/restic -p .rest_pass

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

العمل مع اللقطات

ريستيك diff يتيح لك الأمر رؤية الاختلافات بين أي لقطتين. استخدم المعرفات الفريدة للقطتين اللتين تريد مقارنتهما. يمكنك رؤية معرفات اللقطة عند استخدام restic snapshot أمر.

restic diff -r sftp:[email protected]:/srv/restic -p .rest_pass 8f98cd29 8700e4bf

يتم عرض الاختلافات بين اللقطات كأعمدة إحصائيات.

ريستيك check يقوم الأمر بإجراء اختبار تحقق مقابل جميع اللقطات الموجودة في المستودع.

restic check -r sftp:[email protected]:/srv/restic -p .rest_pass

لحذف لقطة ، يجب أن تخبر restic لـ forget من وإلى prune عليه. يجب عليك استخدام معرّف اللقطة الفريد لتحديد اللقطة المراد حذفها.

restic forget --prune -r sftp:[email protected]:/srv/restic -p .rest_pass e506e089

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

عندما يحين وقت استعادة البيانات من النسخ الاحتياطية ، يكون إنشاء النسخة الاحتياطية سهلاً كما كان. تحتاج إلى تحديد اللقطة التي ستستعيدها. يمكنك استخدام المعرّف الفريد للقطات ، أو يمكنك استخدام latest التسمية لاستخدام أحدث لقطة في المستودع.

تحتاج أيضًا إلى توفير دليل للبيانات المستعادة المراد نسخها لاستخدام ملف target اختيار.

restic restore latest --target ~/restored-data -r sftp:[email protected]:/srv/restic -p .rest_pass

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

ls

إجراء النسخ الاحتياطية ، والنوم بسهولة

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

المصدر

أضف تعليق