وثائق لينوكس العربية

توفر البيانات باستمرار (اخذ نسخة احتياطية)

كتب بواسطة مسلم عادل بتاريخ 2008/09/18

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

ولكن في هذا الموضوع، ساستخدم طريقتين مختلفتين في أخذ النسخة الاحتياطية.

 

الطريقة الأولى: باستخدام incron و rsync

 

incron عبارة عن برنامج شبيه نوعا ما بـ cron ولكن يختلف عنه انه ينفذ الاوامر عندما يحدث تغيير على محتوى مجلد او ملف بعكس cron الذي ينفذ الاوامر عند ساعة ما.

لدي مجلد مهم جدا بالنسبة لي واسمه Projects وهو موجود داخل الدليل /home/arabian/Projects
هذا المجلد يتحوي على كل المشاريع التي اعمل عليها، لذا ضياعه يعني ضياع “عملي” :D
احتفظ بنسخة احتياطية من هذا المجلد على قسم اخر (sda8) وايضا على قرص صلب خارجي. ولكن بالطبع لا اعمل النسخ الاحتياطية هذه يدويا كل ما اعدل على المجلد، وانما عبر incron و script، كالاتي:

1. قم بتركيب incron و rsync:

root@laptop:~# apt-get install incron

2. قم بتحديد المستخدمين الذين لديهم صلاحيات استخدام incron

root@laptop:~# echo "root" > /etc/incron.allow
root@laptop:~# echo "arabian" >> /etc/incron.allow

3. تحديد الأمر الذي نريد تنفيذه اذا حدث تغيير ما في المجلد.
نفذ الامر:

arabian@laptop:~$ incrontab -e

ثم اضف التالي اليه:

/home/arabian/Projects IN_MODIFY /home/arabian/bin/doBackup.sh

/home/arabian/bin/doBackup.sh هو مسار الـ script الذي سيتم تنفيذه عندما يحدث تغيير في محتويات المجلد Projects، وفيما يلي محتوياته:

#!/bin/bash

rsync -av –delete /home/arabian/Projects/ /media/sda8/Projects/ > /home/arabian/logs/bck.log 2>&1

الان كل ما اعدل على محتويات المجلد الاصلي (/home/arabian/Projects) سيتم نقل التعديلات مباشرة الى /media/sda8/Projects.

incron يحتوي على خيارات كثيرة وليس فقط IN_MODIFY يمكنك مراجة دليل المساعدة الخاص به لمزيد من الخيارات

 

الطريقة الثانية: باستخدام chironfs

 

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

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

الى العمل:

1. الجهاز الأول عنوانه: 192.168.1.11
2. الجهاز الثاني عنوانه: 192.168.1.43
3. الجهاز الثالث عنوانه: 192.168.1.164
4. القرص الصلب الخارجي: /dev/sdb5
5. القسم المحلي: /dev/sda8

الأجهزة الثلاثة مفعل فيها خدمة NFS لذا يمكنني الوصول اليها وكانها مجلدات في جهازي. (راجع هذا الموضوع لمزيد من العملومات حول خدمة NFS.) أيضا يمكنك استخدام SSHFS بدل من NFS، يمكنك مراجعة هذا الموضوع لمزيد من المعلومات حول SSHFS

1. ضم (mount) الأماكن لاستخدامها مع chironfs.

root@laptop:~# mount -t nfs -o soft 192.168.1.11:/data/Projects-Backup /mnt/pc1
root@laptop:~# mount -t nfs -o soft 192.168.1.43:/data/Projects-Backup /mnt/pc2
root@laptop:~# mount -t nfs -o soft 192.168.1.164:/data/Projects-Backup /mnt/pc3
root@laptop:~# mount -t ext3 /dev/sdb5 /mnt/backup-external-hd
root@laptop:~# mount -t ext3 /dev/sda8 /mnt/backup-internal-hd

2. بتركيب chironfs:

root@laptop:~# wget -c http://freshmeat.net/redir/chironfs/70916/url_deb/chironfs_1.0.0-0ubuntu1_i386.deb
root@laptop:~# dpkg -i chironfs_1.0.0-0ubuntu1_i386.deb

3. ضم جميع المجلدات مع بعضها البعض:

root@laptop:~# chironfs --fuseoptions allow_other --log /var/log/chironfs.log /mnt/backup-internal-hd=/mnt/backup-external-hd=:/mnt/pc1=:/mnt/pc2=:/mnt/pc3 /home/arabian/Projects

يرجى مراجعة دليل المساعدة الخاص بـ chironfs لمزيد من المعلومات.

عندما يعمل chironfs فانه يقوم بكتابة الملفات على جميع المجلدات معا، ولكن عندما يقرأها، فانه يقرأ من مجلد واحد فقط. وبالطبع قراءة الملفات من القرص الصلب المحلي او الخارجي سيكون اسرع من قراتها من الشبكة، لهذا السبب وضعت العلامة (:) امام مجلدات اجهزة الشبكة لاعطائها اولية قراءة قليلة.

الان يمكنني ان اعمل على المجلد /home/arabian/Projects وجميع التعديلات سيتم نسخها وحفظها في الاجهزة الثلاثة المذكورة والقرص الصلب الداخلي والخارجي ولست بحاجة الى القلق من ضياعها.

, , , , , ,

أكتب تعليق

هل تبحث عن شيء؟

إستخدم النموذج التالي للبحث:

مواقع أنصح بها!

أنصح بزيارة المواقع التالية:

الأرشيف

ستجد هنا أرشيف المقالات السابقة: