• 0
very

طريقة عمل نسخة احتياطية من البيانات backup data

سؤال

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

 

اقدم لكم اليوم احد الافكار التى تساعدنا على انشاء نظام نسخ احتياطى او نظام backup بصفة دورية دون تدخل من المستخدم الفكرة سبق  وان اشرت لها فى احد مشاركاتى قديما ولكن اليوم اقدمها مع بعض الافكار التى توصلت لها لسهولة تنفيذها

المشاركة القديمة

 

تقوم الفكرة على الاتي :

1- انشاء ملفات تنفيذية بصيغة bat يكون داخلها اوامر تقوم بعمل نسخ لملفات الاكسيس التى يكون قد سبق تحديد مسارها مسبقا فمثلا فى مثالى هذا يكون مسار القاعدة التى ساقوم بنسخها هو
f:\cookware_accessories\data\*.data
ويكون المسار الذى يتم النسخ الية هو
e:\backup\1

والامر الذى سنستخدامة هو copy 

ولان القاعدة مقسمة الى جزءين A & B فسنقوم بتنفيذ الامر مرة على ملف الداتا (الجداول) ومرة على النماذج

 

2- انشاء احداث داخل برنامج Task Scheduler الذى يوجد بالوندوز لتشغيل هذة الملفات فى اوقات محددة طوال ايام الاسبوع على ان يكون كل نسخ ليوم يذهب الى مجلد محدد

فمثلا اليوم هو السبت فيعمل هذا الحدث الاسبوعى يوم السبت ليقوم بتنفيذ امر نسخ البيانات داخل مجلد 1
او اليوم هو الاحد فيعمل الحدث الاسبوعى الخاص بيوم الاحد وينفذ امر النسخ ليذهب الى مجلد 2

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

 

وحتى يكون هناك تركيز نحن الان نعمل على جهتين الاولى تكوين ملف اوامر النسخ

الثانية تكوين احداث داخل برنامج Task Scheduler لتشغيل الاوامر التى سبق اعدادها وهذه الاوامر تعمل بصفة اسبوعية فى ساعة معينة

 

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

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

الان ننتقل الى شرح المرفقات
ستجد بالمرفقات اربعة ملفات هدفها هو تنفيذ ما سبق شرحة ولكن فى سرعة ودقة عالية
هذه المرفقات تقوم على فرضية ان النسخ الاحتياطى يكون فى مجلد باسم backup على القرص e :\
نسخة يوم السبت تكون بمجلد 1 يوم الاحد 2 وهكذا
النسخ يكون من مجلد (الملف المصدر) باسم cookware_accessories\data\ على القرص f:\
تستطيع تغير هذ المسارات من داخل ملف البات قبل تشغيل عن طريق استخدام امر استبدال

الملف الاول وهو create dire.bat
هدفة هو انشاء المجلدات التى سيتم بها حفظ النسخ الاحتياطية وكل مجلد يرجع الى تاريخ يوم معين على مدار اسبوع سابق ومجلد bat الذي سوف يحتوى على اوامر النسخ التى سيتم تنفيذها من خلال Task Scheduler
الملف التانى creat bat file.bat
هدفة هو انشاء ملفات اوامر النسخ فى مجلد bat
الملف الثالث writ in task schtask.bat

وهدفة هو الكتبة داخل برنامج Task Scheduler لتشغيل الاوامر فى الايام والمواعيد المحددة وهو يقوم بالنسخ الساعة 12.00م والساعة 4:30م كل يوم
الملف الرابع CopyToAnyFlash.bat
وهو يقوم بالبحث عن الفلاش ميمورى وتنفيذ امر النسخ لها ووضعة داخل المجلد الذى ترغب فية
ملاحظة:- لكى يكون هذا الامر يعمل يوميا مع باقى اوامر نسخ القاعدة يجب نسخة ووضعة فى اوامر النسخ بالمجلد bat ولكن بطريقة يدوية داخل كل ملف على حدى  1 , 2, 3 , .... مع مراعات تغير اسم المسار الذى سوف يتم النسخ الية
 

رجاء فى حالة تغيير المسارات يجب تغيرها فى كل الملفات المرفقة حتى يعمل بالشكل الامثل دون اخطاء
القصة ببساطة اننا نستخدم برنامج Task Scheduler كوسيط ليقوم بتنفيذ الاوامر فى اوقاتها

كل ما عليك هو تشغيل هذة الملفات بالترتيب

حاولت اشرح بالتفصيل ليكون الشرح بسيط وسهل
لو فى اى استفسار او اقتراح انا معاكم

New folder.rar

تم تعديل بواسطه very
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

0 إجابة على هذا السؤال .

لاتوجد إجابات على هذا السؤال حتى الآن .

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .