النتائج 1 إلى 1 من 1

الموضوع: انشاء نسخ احتياطية (باك اب) على السيرفر من موقع كل فترة بشكل دوري وتلقائي

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    35

    انشاء نسخ احتياطية (باك اب) على السيرفر من موقع كل فترة بشكل دوري وتلقائي



    بسم الله الرحمن الرحيم

    السلام عليكم ورحمة الله وبركاته

    وتحية طيبة

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

    قد نحتاج للحصول على نسخ احتياطية لموقع معين او مجموعة مواقع باكثر من الخيارات (يومي ، اسبوعي ، شهري) فمثلا قد اود ان انشئ نسخ احتياطي لموقع ما على الخادم

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

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

    من هنا جاءت الحاجة لتقنية او اداة توفر لي القيام باجراء باك اب كل ساعة لموقع ما على الخادم ، وبدات بالفعل بتنفيذ هذه الآلية وتم تنفيذها ، واضعها هنا بين ايديكم من اجل

    الفائدة

    ولتنفيذ هذه الآلية سوف احتاج للأمور التالية

    ندخل على شل السيرفر بواسطة معلومات المستخدم root


    اولا : انشاء دليل في مجلد النسخ الإحتياطي cpbackup سوف اسميه hourly وحتى يتك تخزين النسخ فيه

    طبعا في اغلب السيرفرات يكون مجلد ال cpbackup موجودا على الإمتدادا /backup

    لهذا فان امر انشاء المجلد سيكون

    كود:
    mkdir /backup/cpbackup/hourly
    ثانيا: سوف احتاج لان اضع امر معين في الكرون جوب (crontab) يقوم بعمل نسخ احتياطية للموقع الذي انا بصدد العمل علية بحيث يتم اعداد المر ليتم تنفيذة كل ساعتين

    مثلا وبالتالي احصل على نسخة احتياطية من الموقع كل ساعتين

    ولتنفيذ هذا الأمر سوف اقوم بتنفيذ الأمر

    كود:
    crobtab -e
    ومن ثم سوف اضيف السطر التالي الى محتويات الملف

    كود:
    0 */2 * * * /scripts/pkgacct user
    على افتراض ان user هو اسم مستخدم السي بنل لذلك الموقع

    تلاحظ وجود العبارة */2 والتي تعني ان الأمر سوف يتم تنفيذة كل ساعتين او 12 مرة خلال ال 24 ساعة

    بعدها سوف اقوم على حفظ الملف


    ثالثا: انني وحتى الان قمت على اعداد امر تكوين النسخة الإحتياطية للموقع كل ساعتين بحيث يتم انشاء النسخة الإحتياطية في مجلد /home

    ولكن كما تعلمون فان اسم الملف الذي سيتكون عند انشاء النسخة الإحتياطية سوف يكون كالتالية
    /home/cpmove-user.tar.gz
    على افتراض ان اسم مستخدم السي بنل هو user
    وعند تحقق الساعة الرابعة او عندما يحين موعد اخذ النسخة الإحتياطية للمرة القادمة فان اسم الملف سيكون واحد
    /home/cpmove-user.tar.gz
    وبالتالي سوف يتم كتابة الملف فوق الملف القديم وبهذا انا لم استفد شيئا كون عملية الكتابة تمت على الملف القديم

    لهذا انا بحاجة الى اجراء معين او امر معين يقوم بتغيير اسم الملف الى القديم الى اسم اخر


    رابعا: اذا انا الان بحاجة الى امر معين يقوم بتغيير اسم الملف الذي تم خلال عملية الباك اب الى اسم اخر حتى لا يتم الكتابة فوقه عندما تقوم السي بنل بعد ساعتين بتنفيذ عملية

    الباك اب مرة اخرى

    لهذا انا قمت بإجراء الأوامر التالية

    كود:
    touch /root/es-cpmove-rename.sh
    وهذا سوف ينشئ ملف باسم es-cpmove-rename.sh في مجلد الروت

    الان سوف اقوم بتحرير الملف عن طريق الأمر

    كود:
    nano  /root/es-cpmove-rename.sh
    واضع فيه الأوامر التالية

    كود:
    #!/bin/bash
    if [ -s /home/cpmove-user.tar.gz ]
    then
    MODDATE=$(stat -c %Y /home/cpmove-user.tar.gz)
    MODDATE=$(date --date=@$MODDATE +"backup-%Y_%m_%d_%H_%M_%S-user")
    #//MODDATE=${MODDATE%% *}
    mv /home/cpmove-user.tar.gz $MODDATE.tar.gz
    mv $MODDATE.tar.gz /backup/cpbackup/hourly/
    echo "file /home/cpmove-user.tar.gz renames to"
    echo $MODDATE
    #echo $MODDATE
    fi
    مع مراعاة ان تقوم بتغيير user في الأوامر السابقة الى اسم مستخدم السي بنل للموقع الذي تود العمل علية ومع تغيير الإمتداد /backup/cpbackup/hourly الى الباث الصحيح في حال كان مختلفا لديك على السيرفر.

    لاحظ ان الأوامر السابقة سوف تقوم على التاكد في حال وجود ملف في مجلد home باسم
    cpmove-user.tar.gz
    وفي حال كان الملف موجودا سوف تقوم على تغيير اسمه الى مثلا
    backup-2008_11_19_06_00_56-user.tar.gz
    حيث تم تغيير الإسم الى البادئة backup ومن ثم السنة والشهر واليوم ومن ثم الساعة والدقيقة والثانية التي انشئ فيها الملف الأصلي

    ومن ثم سوف تقوم على نقله من مجلد ال home الى مجلد
    /backup/cpbackup/hourly
    الذي قمنا بانشائه في الخطوة الأولى



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

    ولكننا منطقيا يجب ان نضع امر في الكرون جوب (crobtab) بحيث يتم تنفيذ السكربت es-cpmove-rename.sh تلقائيا

    لهذا سوف نقوم بتنفيذ الأمر

    كود:
    crontab -e
    ووضع الأمر التالي في اخر سطر

    كود:
    */15 * * * * sh /root/es-cpmove-rename.sh
    لاحظ ان هذا السكربت سوف يتم تنفيذة كل 15 دقيقة ، ولا مشكلة في ذلك لان السكربت قبل ان يقوم بالنقل سوف يتاكد من وجود او عدم وجود ملف الباك اب ، وفي حال كان غير موجود فلن يقوم باي اجراء


    والان وبعد هذه الخطوات قمنا باعداد الخادم بحيث يقوم كل ساعتين بعمل نسخة احتياطية من الموقع الذي يتبع له اسم المستخدم user وان يحتفظ بالباك اب الذي تم انشاءه في مجلد
    /backup/cpbackup/hourly
    بحيث يكون اسم الملف يدل على ساعة انشاءه

    وبعد مرور مجموعة من الوقت لو دخلت الى السيرفر وكان العمل تم بشكل سليم وذهبت الى مجلد

    كود:
    cd /backup/cpbackup/hourly
    ونفذت امر الإستعراض

    ls -lh

    سوف تجد مجموعة من الملفات وهي مثلا على الشكل التالي

    كود:
    -rw-------  1 root root 51M Nov 18 12:00 backup-2008_11_18_12_00_52-user.tar.gz
    -rw-------  1 root root 51M Nov 18 14:00 backup-2008_11_18_14_00_57-user.tar.gz
    -rw-------  1 root root 51M Nov 18 16:00 backup-2008_11_18_16_00_51-user.tar.gz
    -rw-------  1 root root 51M Nov 18 18:00 backup-2008_11_18_18_00_52-user.tar.gz
    -rw-------  1 root root 51M Nov 18 20:00 backup-2008_11_18_20_00_51-user.tar.gz
    -rw-------  1 root root 51M Nov 18 22:01 backup-2008_11_18_22_01_04-user.tar.gz
    -rw-------  1 root root 51M Nov 19 00:00 backup-2008_11_19_00_00_54-user.tar.gz
    -rw-------  1 root root 51M Nov 19 02:00 backup-2008_11_19_02_00_49-user.tar.gz
    -rw-------  1 root root 51M Nov 19 04:00 backup-2008_11_19_04_00_52-user.tar.gz
    -rw-------  1 root root 51M Nov 19 06:00 backup-2008_11_19_06_00_56-user.tar.gz
    وبهذا احتفظت بنسخ احتياطية للموقع كل ساعتين واستطيع في اي لحظة استرجاع اي نسخة من خلال الدخول الى WHM وتنفيذ امر الإسترجاع كالمعتاد



    امل ان يستفيذ من هذا الأمر احد غيري

    وشكرا لكم





    التعديل الأخير تم بواسطة محمد الشناق ; 27-11-2008 الساعة 12:35 AM
    __________________
    محمد الشناق
    مهتم في مجال امن المعلومات وتطوير تطبيقات الانترنت






ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض