الموقع الرسمي لـ محمد الشناق مبرمج ومطور تطبيقات بي أتش بي
اشترك في احد القوائم البريدية لدينا لتصلك اخر الأخبار والتحديثات
تغيير اسم مجلد الباك اب اليومي الى تاريخ اليوم
أخر اصدار متوفر من الملف هو : 0.1-beta. يقوم هذا السكربت بتغيير اسم مجلد الباك اب اليومي (daily) في سيرفر الليونكس الذي يعمل بلوحة تحكم Cpanel/WHM الى تاريخ اليوم (مثال 09-Sep-2007) وذلك بعد التاكد من ان عملية الباك اب اليومي قد انتهت بنجاح ولا يوجد اية عمليات باك تتم في تلك اللحظة. وذلك بهدف الإحتفاظ بشكل دائم بنسخ باك اب لليوم والأيام التي سبقتها من اجل الرجوع لها عند الحاجة لا قدر الله. بحيث يمكن اعداد هذا السكربت ليعمل في وقت معين من اليوم عن طريق (crontab) ليقوم هو بدور تغيير اسم مجلد الباك اب اليومي الذي تقوم السي بنل بانشاءه بعد ان يتاكد بانه ليس هناك اي عمليات باك اب تتم في السيرفر في الوقت الذي يعمل فيه ، وفي حال وجد السكربت ان هناك عمليات باك اب ما زالت مستمره فانه ينتظر لحين التاكد من الإنتهاء الكامل لعملية الباك اب. قد قمت باعداد هذا السكربت ليس لأغراض تجارية او لآغراض البيع او ما شابه ، لقد قمت باعدادة لمساعدتي في ادارة السيرفرات التي اديرها ، لهذا فقد تم انشاءه بناء على متطلباتي التي ارى انه من المناسب انشائها ، علما بان اصدار الملف ما يزال تجريبي ، انا استخدم الإصدار الحالي منذ اكثر من 3 اسابيع ولم الحظ وجود اي خطا في التنفيذ في حال اتباع التعليمات بدقة عن تركيب الملف ومع ذلك فان استخدام الإصدار الحالي من الملف هو على عاتقك الشخصي فقط وانا لا اتحمل اي مسؤولية قد تنتج بعض النظر عن مدى الضرر الذي قد ينتج عن استخدام هذا الإصدار من هذا الملف. علما بان هذا الملف يتوافق مع سيرفرات الليونكس التي تعمل بلوحة تحكم Cpanel/WHM ولا يراعي اي لوحات اخرى. الهدف من انشاء السكربت ، ولماذا؟ اثناء عملي مع سيرفرات الليونكس ولان عملي يتطلب ادارة بعض السيرفرات التي تحتوي على حسابات استضافة ومواقع إنترنت فانه من المهم الحصول على نسخ احتياطي يومي لتلك المواقع تحسبا لأي عارض قد يضطرنا للرجوع الى تلك النسخ الاحتياطية ، كاختراق احد المواقع لا قدر الله او فشل في اداء القرص الصلب او الى أخره من الأمور التي قد تضطرنا للرجوع واستخدام النسخ الاحتياطي لأي موقع. ولان اغلب السيرفرات التي اعمل عليها تعمل بواسطة لوحة التحكم Cpanel فان الية السي بنل تعتمد على انشاء 3 انواع من النسخ الإحتياطي ، اليومي والذي يتم انشاءه بمجلد باسم daily والأسبوعي والذي يتم انشاءه بمجلد باسم Weekly والشهري والذي يتم انشاءه بمجلد باسم Monthly. ولكن لقد لاحظت بعض الملاحظات التي شدتني الى انشاء هذا السكربت واول تلك الملاحظات هي ان: لو نفترض ان عملية انشاء النسخ الإحتياطي تتم الساعة 6 صباحا وان احد المواقع تم اختراقه الساعة 5 ونص صباحا ، فهذا يعني اننا لن نستطيع الإسترجاع من الباك اب اليومي ، حيث ان ملف الباك اب الذي سيكون في مجلد daily سوف يكون لليوم عند الساعة 6 صباحا ، اي بعد اختراق الموقع ، لهذا فان الحل الوحيد هو الإسترجاع من الباك اب الأسبوعي ، والذي عادة ما يكون لأكثر من 5 ايام ، هذا يعني اننا سوف نظطر لإسترجاع الباك اب لأكثر من 5 ايام مضت وذلك لاننا لا نملك باك اب حديث نظيف من ملفات الموقع وذلك لان عملية الإختراق تمت في ساعة حرجة :). هذا يعني ايضا اننا سنكون في وضع حرج امام العميل كوننا نسترجع له موقعه كما كان قبل 5 ايام وهذا زمن طويل في عالم الإنترنت. من هنا جاءت لي فكرة انشاء سكربت بسيط يقوم كل يوم بعد انتهاء السيرفر من انشاء مجلد الباك اب اليوم من تغيير اسم هذا المجلد الى تاريخ اليوم ، وذلك ليفتح المجال للسي بنل لتقوم في اليوم التالي بانشاء مجلد النسخ الإحتياطي اليومي دون ان يتم الكتابة فوق المجلد daily وبالتالي توفير نسخ احتياطي لجميع المواقع على مدار ايام الأسبوع وليس فقط يومي ، شهري ، اسبوعي.
أخر اصدار متوفر من الملف هو : 0.1-beta.
يقوم هذا السكربت بتغيير اسم مجلد الباك اب اليومي (daily) في سيرفر الليونكس الذي يعمل بلوحة تحكم Cpanel/WHM الى تاريخ اليوم (مثال 09-Sep-2007) وذلك بعد التاكد من ان عملية الباك اب اليومي قد انتهت بنجاح ولا يوجد اية عمليات باك تتم في تلك اللحظة. وذلك بهدف الإحتفاظ بشكل دائم بنسخ باك اب لليوم والأيام التي سبقتها من اجل الرجوع لها عند الحاجة لا قدر الله. بحيث يمكن اعداد هذا السكربت ليعمل في وقت معين من اليوم عن طريق (crontab) ليقوم هو بدور تغيير اسم مجلد الباك اب اليومي الذي تقوم السي بنل بانشاءه بعد ان يتاكد بانه ليس هناك اي عمليات باك اب تتم في السيرفر في الوقت الذي يعمل فيه ، وفي حال وجد السكربت ان هناك عمليات باك اب ما زالت مستمره فانه ينتظر لحين التاكد من الإنتهاء الكامل لعملية الباك اب. قد قمت باعداد هذا السكربت ليس لأغراض تجارية او لآغراض البيع او ما شابه ، لقد قمت باعدادة لمساعدتي في ادارة السيرفرات التي اديرها ، لهذا فقد تم انشاءه بناء على متطلباتي التي ارى انه من المناسب انشائها ، علما بان اصدار الملف ما يزال تجريبي ، انا استخدم الإصدار الحالي منذ اكثر من 3 اسابيع ولم الحظ وجود اي خطا في التنفيذ في حال اتباع التعليمات بدقة عن تركيب الملف ومع ذلك فان استخدام الإصدار الحالي من الملف هو على عاتقك الشخصي فقط وانا لا اتحمل اي مسؤولية قد تنتج بعض النظر عن مدى الضرر الذي قد ينتج عن استخدام هذا الإصدار من هذا الملف. علما بان هذا الملف يتوافق مع سيرفرات الليونكس التي تعمل بلوحة تحكم Cpanel/WHM ولا يراعي اي لوحات اخرى.
يقوم هذا السكربت بتغيير اسم مجلد الباك اب اليومي (daily) في سيرفر الليونكس الذي يعمل بلوحة تحكم Cpanel/WHM الى تاريخ اليوم (مثال 09-Sep-2007) وذلك بعد التاكد من ان عملية الباك اب اليومي قد انتهت بنجاح ولا يوجد اية عمليات باك تتم في تلك اللحظة. وذلك بهدف الإحتفاظ بشكل دائم بنسخ باك اب لليوم والأيام التي سبقتها من اجل الرجوع لها عند الحاجة لا قدر الله. بحيث يمكن اعداد هذا السكربت ليعمل في وقت معين من اليوم عن طريق (crontab) ليقوم هو بدور تغيير اسم مجلد الباك اب اليومي الذي تقوم السي بنل بانشاءه بعد ان يتاكد بانه ليس هناك اي عمليات باك اب تتم في السيرفر في الوقت الذي يعمل فيه ، وفي حال وجد السكربت ان هناك عمليات باك اب ما زالت مستمره فانه ينتظر لحين التاكد من الإنتهاء الكامل لعملية الباك اب.
قد قمت باعداد هذا السكربت ليس لأغراض تجارية او لآغراض البيع او ما شابه ، لقد قمت باعدادة لمساعدتي في ادارة السيرفرات التي اديرها ، لهذا فقد تم انشاءه بناء على متطلباتي التي ارى انه من المناسب انشائها ، علما بان اصدار الملف ما يزال تجريبي ، انا استخدم الإصدار الحالي منذ اكثر من 3 اسابيع ولم الحظ وجود اي خطا في التنفيذ في حال اتباع التعليمات بدقة عن تركيب الملف ومع ذلك فان استخدام الإصدار الحالي من الملف هو على عاتقك الشخصي فقط وانا لا اتحمل اي مسؤولية قد تنتج بعض النظر عن مدى الضرر الذي قد ينتج عن استخدام هذا الإصدار من هذا الملف. علما بان هذا الملف يتوافق مع سيرفرات الليونكس التي تعمل بلوحة تحكم Cpanel/WHM ولا يراعي اي لوحات اخرى.
الهدف من انشاء السكربت ، ولماذا؟
اثناء عملي مع سيرفرات الليونكس ولان عملي يتطلب ادارة بعض السيرفرات التي تحتوي على حسابات استضافة ومواقع إنترنت فانه من المهم الحصول على نسخ احتياطي يومي لتلك المواقع تحسبا لأي عارض قد يضطرنا للرجوع الى تلك النسخ الاحتياطية ، كاختراق احد المواقع لا قدر الله او فشل في اداء القرص الصلب او الى أخره من الأمور التي قد تضطرنا للرجوع واستخدام النسخ الاحتياطي لأي موقع. ولان اغلب السيرفرات التي اعمل عليها تعمل بواسطة لوحة التحكم Cpanel فان الية السي بنل تعتمد على انشاء 3 انواع من النسخ الإحتياطي ، اليومي والذي يتم انشاءه بمجلد باسم daily والأسبوعي والذي يتم انشاءه بمجلد باسم Weekly والشهري والذي يتم انشاءه بمجلد باسم Monthly. ولكن لقد لاحظت بعض الملاحظات التي شدتني الى انشاء هذا السكربت واول تلك الملاحظات هي ان: لو نفترض ان عملية انشاء النسخ الإحتياطي تتم الساعة 6 صباحا وان احد المواقع تم اختراقه الساعة 5 ونص صباحا ، فهذا يعني اننا لن نستطيع الإسترجاع من الباك اب اليومي ، حيث ان ملف الباك اب الذي سيكون في مجلد daily سوف يكون لليوم عند الساعة 6 صباحا ، اي بعد اختراق الموقع ، لهذا فان الحل الوحيد هو الإسترجاع من الباك اب الأسبوعي ، والذي عادة ما يكون لأكثر من 5 ايام ، هذا يعني اننا سوف نظطر لإسترجاع الباك اب لأكثر من 5 ايام مضت وذلك لاننا لا نملك باك اب حديث نظيف من ملفات الموقع وذلك لان عملية الإختراق تمت في ساعة حرجة :). هذا يعني ايضا اننا سنكون في وضع حرج امام العميل كوننا نسترجع له موقعه كما كان قبل 5 ايام وهذا زمن طويل في عالم الإنترنت. من هنا جاءت لي فكرة انشاء سكربت بسيط يقوم كل يوم بعد انتهاء السيرفر من انشاء مجلد الباك اب اليوم من تغيير اسم هذا المجلد الى تاريخ اليوم ، وذلك ليفتح المجال للسي بنل لتقوم في اليوم التالي بانشاء مجلد النسخ الإحتياطي اليومي دون ان يتم الكتابة فوق المجلد daily وبالتالي توفير نسخ احتياطي لجميع المواقع على مدار ايام الأسبوع وليس فقط يومي ، شهري ، اسبوعي.
لتحميل السكربت باخر اصدار متوفر استخدام الرابط التالي http://tech.di.net.sa/layer1/nonsecure/changedailybackup.sh الإصدار الحالي هو: 0.1-beta
ما قد تجده في الإصدارات الجديدة: قد تجد في الإصدارات الجديدة الميزات والخصائص التالية: قدرة السكربت على حذف مجلدات النسخ الإحتياطي اليومية التي يقوم هو بتغييرها والتي تعود لزمن طويل يحدده مدير النظام. (مثلا حذف مجلدات النسخ الإحتياطي اليومي لتواريخ مضت لأكثر من 10 ايام او 15 يوم) وذلك لتوفير في استهلاك مساحة التخزين. ولعدم اجبار مدير النظام الى الدخول الى السيرفر بشكل يدوي وحذف تلك المجلدات بشكل دوري. يقوم السكربت حاليا بتغيير اسم المجلد daily الى تاريخ اليوم اعتمادا على دالة التاريخ ولا ينظر الى التاريخ الفعلي لإنشاء المجلد daily، في المستقبل قد يكقوم السكربت بمقارنة تاريخ انشاء المجلد بالتاريخ الحالي المستخرج من دالة التاريخ وذلك لمزيد من الدقة في تسمية المجلد ولضمان عدم حصول اي لخبطات في تسمية مجلد باسم تاريخ قد لا يعود له. يقوم السكربت حاليا باخذ المتغيرات عن طريق تمريرها بعد اسم الملف على التوالي بحيث يجب ان تكون مرتبه ترتيبها واحدا ولا يمكن ان يتم ادخالها بشكل عشوائي ، انه انه يجب عليك ادخال changedailybackup.sh ومن ثم المتغيرات كل حسب مكان وجودة ، في المستقبل قد لا يعتمد السكربت على هذه الآلية وربما يعتمد على الية اخرى وهي اعطاء القيم بشكل عشوائي وتفسيرها بناء على اسماء المتغيرات التي سوف تدخل. الهدف من ذلك هو التسهيل على مدير النظام التعامل مع الملف اثناء مناداته. اذا كان لديك اقتراحات اخرى تريد تضمينها في الإصدارات القادمة من هذا السكربت فلا تتردد من الإتصال بي. رخصة استخدام هذا السكربت رخصة استخدام هذا السكربت هي MPL - Mozilla Public License بشرط ان لا تقوم على ازالة الحقوق من الملف وان تشير الى موقع المبرمج في حال قمت على طرح موضوع حول هذا السكربت. (يجب عليك الإشارة الى الرابط http://www.phpspiders.com/viewpage-119.html في حال قمت على الكتابة حول هذا السكربت وعند الحديث حوله). اخلاء المسؤولية: لا يتحمل محمد الشناق تحت اي ظروف اي مسؤولة تجاة اي نتيجة تحدث نتيجة استخدام اي من الأدوات او الملفات او الأكواد الموجودة في الموقع الا في حال نصت اتفاقية استخدام تلك الملفات على غير ذلك. راجع ملاحظات قانونية لمزيد من المعلومات.
ما قد تجده في الإصدارات الجديدة:
قد تجد في الإصدارات الجديدة الميزات والخصائص التالية:
رخصة استخدام هذا السكربت
رخصة استخدام هذا السكربت هي MPL - Mozilla Public License بشرط ان لا تقوم على ازالة الحقوق من الملف وان تشير الى موقع المبرمج في حال قمت على طرح موضوع حول هذا السكربت. (يجب عليك الإشارة الى الرابط http://www.phpspiders.com/viewpage-119.html في حال قمت على الكتابة حول هذا السكربت وعند الحديث حوله).
اخلاء المسؤولية:
لا يتحمل محمد الشناق تحت اي ظروف اي مسؤولة تجاة اي نتيجة تحدث نتيجة استخدام اي من الأدوات او الملفات او الأكواد الموجودة في الموقع الا في حال نصت اتفاقية استخدام تلك الملفات على غير ذلك. راجع ملاحظات قانونية لمزيد من المعلومات.