كيفية عمل نسخة احتياطية من Raspberry Pi الخاص بك


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

لماذا يعد Rsync أفضل أداة لعمل نسخة احتياطية من Pi الخاص بك

Rsync (المزامنة عن بعد) هي أداة قوية لمزامنة الملفات ونقلها والتي تأتي مثبتة مسبقًا على جهاز Raspberry Pi الخاص بك.

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

رجل Rsync التوت

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

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

لهذه الأسباب، يعد rsync هو الحل الأفضل لاحتياجاتي، وأعتقد أنه خيار مثالي للعديد من مستخدمي Raspberry Pi الآخرين الذين يريدون نظام نسخ احتياطي موثوق وفعال.

استخدام Rsync لعمل نسخة احتياطية من ملفات ومجلدات Raspberry Pi

إن أبسط طريقة لعمل نسخة احتياطية من الدليل هي باستخدام الأمر:

rsync -av /source/directory /backup/location

على سبيل المثال، لعمل نسخة احتياطية من الدليل الرئيسي الخاص بي على محرك أقراص خارجي مثبت على “/media/backup”، أستخدم الأمر:

rsync -av --delete /home/david/immich-app /media/backup

لعمل نسخة احتياطية من قاعدة بيانات مكتبة الصور الخاصة بي.

النسخ الاحتياطي لمجلدات Rsync Raspberry

إليك ما تفعله الخيارات المختلفة:

  • -a تمكين وضع الأرشيف، الذي يحافظ على أذونات الملف، والملكية، والطوابع الزمنية
  • -v يوفر مخرجات مطولة حتى أتمكن من رؤية ما يتم نسخه.
  • --delete يزيل الملفات من موقع النسخ الاحتياطي التي لم تعد موجودة في المصدر.

ملحوظة: يجب أن تعلم أيضًا أن rsync خاص بالشرطة المائلة اللاحقة في المسارات. تعني الشرطة المائلة اللاحقة على المصدر “نسخ محتويات هذا الدليل” بدلاً من الدليل نفسه. على سبيل المثال، rsync -av --delete /home/pi/folder /media/backup ينسخ محتويات “المجلد” مباشرةً إلى “نسخة احتياطية”، بينما يؤدي حذف الشرطة المائلة إلى نسخ دليل “المجلد” نفسه إلى “نسخة احتياطية”.

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

قبل الاعتماد على النسخة الاحتياطية، يجب عليك التحقق من أنها تعمل بشكل صحيح. إن أبسط طريقة للتحقق هي استخدام خيار التشغيل الجاف مع rsync، والذي يمكن تحديده أيضًا -n أو --dry-run. تشغيل الأمر:

rsync -avn --delete /home/pi/folder /media/backup

يجب ألا يُظهر أي ملفات تحتاج إلى النقل إذا كانت النسخة الاحتياطية محدثة.

التشغيل الجاف للنسخ الاحتياطي لـ Rsync Raspberry

لمزيد من التحقق الشامل، يمكنك إضافة -c أو --checksum الخيار لأمر rsync الخاص بك. على الرغم من أنه أبطأ من الطابع الزمني الافتراضي ومقارنة الحجم، إلا أن هذا يضمن أن كل ملف متطابق تمامًا بين المصدر والنسخة الاحتياطية عن طريق حساب المجاميع الاختبارية. فقط قم بتشغيل:

rsync -avc --delete /home/pi/folder /media/backup

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

diff -r /home/pi/folder /media/backup/folder

ال -r يخبر الخيار diff بالتحقق من كافة الدلائل الفرعية بشكل متكرر. إذا لم ينتج الأمر أي إخراج، فهذا يعني أن النسخة الاحتياطية الخاصة بك مطابقة للمصدر. وإذا كانت هناك اختلافات، diff سيُظهر لك بالضبط الملفات المختلفة أو المفقودة.

إنشاء نسخ احتياطية كاملة لـ Raspberry Pi باستخدام Rsync

في بعض المواقف، قد يكون من الملائم والأكثر أمانًا إجراء نسخ احتياطي لبطاقة Raspberry Pi SD بأكملها بدلاً من مجرد عدد قليل من المجلدات المهمة.

لإنشاء نسخ احتياطية كاملة لـ Raspberry Pi باستخدام rsync، ستحتاج إلى وجهة نسخ احتياطي – إما بطاقة SD أخرى أو محرك أقراص خارجي به مساحة كافية لاستيعاب النظام بأكمله. يجب تهيئة محرك النسخ الاحتياطي باستخدام نظام ملفات متوافق مع Linux مثل ext4 للحفاظ على جميع أذونات وسمات الملفات بشكل صحيح.

الجزء الأصعب في النسخ الاحتياطي لنظام Raspberry Pi الكامل هو التعامل مع أدلة وملفات النظام الخاصة بشكل صحيح. من خلال تجربتي، فإن الحل الأسهل هو استبعاد أدلة النظام التي إما لا تحتاج إلى نسخ احتياطي أو يمكن أن تسبب مشاكل في حالة استعادتها. قم بإنشاء ملف يسمى “backup-exclude.txt” وأضف أدلة النظام التالية التي يجب استبعادها من النسخة الاحتياطية:

  • /proc/* # معلومات عملية وقت التشغيل
  • /sys/* # معلومات النواة والنظام
  • /dev/* # ملفات الجهاز
  • /tmp/* # الملفات المؤقتة
  • /run/* # بيانات وقت التشغيل
  • /mnt/* # نقاط التثبيت
  • /media/* # الوسائط القابلة للإزالة
  • /home/pi/.cache/* # ملفات ذاكرة التخزين المؤقت للمستخدم
  • /lost+found # دليل استرداد نظام الملفات

مع وجود هذه الاستثناءات، يمكنك إغلاق أكبر عدد ممكن من التطبيقات قيد التشغيل ثم تنفيذ أمر النسخ الاحتياطي التالي:

sudo rsync -avxhP --delete --exclude-from=/home/pi/backup-exclude.txt / /media/backup/rootfs/

ال -x يمنع هذا الخيار rsync من عبور حدود نظام الملفات، مما قد يسبب مشكلات في أدلة النظام. ال -h الخيار يجعل rsync يعرض أحجام الملفات وسرعات النقل بتنسيق يمكن قراءته بواسطة الإنسان.

أتمتة النسخ الاحتياطية rsync

على الرغم من أن النسخ الاحتياطية الكاملة التي تم إنشاؤها يدويًا مفيدة، إلا أنني أفضل تشغيلها تلقائيًا باستخدام برنامج جدولة cron المدمج في Linux. لإعداد هذا، قم بإنشاء ملف يسمى “backup-pi.sh” في الدليل الرئيسي الخاص بك مع هذا المحتوى:

#!/bin/bash
BACKUP_DRIVE="/media/backup"
LOG_FILE="/home/pi/backup-log.txt"
 
# Check if backup drive is mounted
if ! mountpoint -q $BACKUP_DRIVE; then
    echo "Backup drive not mounted at $BACKUP_DRIVE" >> $LOG_FILE
    exit 1
fi
 
# Create timestamp for logging
date >> $LOG_FILE
 
# Run backup with error checking
sudo rsync -avxhP --delete \
    --exclude-from=/home/pi/backup-exclude.txt \
    / $BACKUP_DRIVE/rootfs/ \
    >> $LOG_FILE 2>&1
 
# Record backup completion
echo "Backup finished at $(date)" >> $LOG_FILE
echo "-------------------" >> $LOG_FILE

اجعل البرنامج النصي قابلاً للتنفيذ باستخدام chmod +x backup-pi.sh، ثم قم بجدولته باستخدام cron. يكتب crontab -e وأضف هذا السطر لتشغيل النسخ الاحتياطي يوميا عند منتصف الليل:

0 0 * * * /home/pi/backup-pi.sh
النسخ الاحتياطي كرون التوت

استعادة النسخ الاحتياطية لـ Rsync Raspberry Pi

لاستعادة الملفات أو الدلائل الفردية، تكون العملية واضحة ومباشرة. ما عليك سوى تبديل المصدر والوجهة في أمر rsync. على سبيل المثال، لاستعادة مكتبة الصور الخاصة بك من النسخة الاحتياطية:

rsync -av /media/backup/home/david/immich-app/ /home/david/immich-app/

لاستعادة النظام بالكامل، ستحتاج إلى تثبيت جديد لنظام التشغيل Raspberry Pi OS على بطاقة SD الخاصة بك أولاً. ابدأ بتثبيت نسخة جديدة من Raspberry Pi OS على بطاقة SD الجديدة. بمجرد الانتهاء من ذلك، قم بتشغيل جهاز Pi الخاص بك باستخدام بطاقة SD الجديدة وأكمل عملية الإعداد الأولية. بعد ذلك، قم بتوصيل محرك النسخ الاحتياطي بجهاز Pi الخاص بك. عندما يتم توصيل كل شيء وتثبيته بشكل صحيح، يمكنك استعادة النسخة الاحتياطية باستخدام الأمر rsync:

sudo rsync -avxhP /media/backup/rootfs/ /

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

إذا كانت بعض التطبيقات لا تعمل بعد الاستعادة، فتحقق من ملفات السجل الخاصة بها (عادةً في /var/log/) بحثًا عن أي أخطاء متعلقة بالأذونات. قد تحتاج إلى تشغيل:

sudo chown -R $USER:$USER /home/$USER

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

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

جميع الصور لديفيد موريلو.

اشترك في النشرة الإخبارية لدينا!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

ديفيد موريلو

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


اكتشاف المزيد من تكتك تكنولوجيا

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من تكتك تكنولوجيا

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

Continue reading