كيفية عمل نسخة احتياطية من Raspberry Pi الخاص بك
لا يلزم أن يكون النسخ الاحتياطي لـ Raspberry Pi معقدًا. على الرغم من توفر العديد من حلول النسخ الاحتياطي المتطورة، إلا أن النهج الأبسط هو الأكثر فعالية في بعض الأحيان. سأوضح لك في هذه المقالة كيفية استخدام rsync – وهي أداة سطر أوامر صغيرة ولكنها قوية ومثالية لإنشاء نسخ احتياطية محلية موثوقة لإعداد Raspberry Pi الخاص بك.
لماذا يعد Rsync أفضل أداة لعمل نسخة احتياطية من Pi الخاص بك
Rsync (المزامنة عن بعد) هي أداة قوية لمزامنة الملفات ونقلها والتي تأتي مثبتة مسبقًا على جهاز Raspberry Pi الخاص بك.
في جوهره، يقوم 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
لعمل نسخة احتياطية من قاعدة بيانات مكتبة الصور الخاصة بي.
إليك ما تفعله الخيارات المختلفة:
-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
يجب ألا يُظهر أي ملفات تحتاج إلى النقل إذا كانت النسخة الاحتياطية محدثة.
لمزيد من التحقق الشامل، يمكنك إضافة -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 الخاص بك لحماية بياناتك القيمة وتكوينات النظام.
جميع الصور لديفيد موريلو.
اشترك في النشرة الإخبارية لدينا!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك
اكتشاف المزيد من تكتك تكنولوجيا
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.