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

الموضوع: حفظ قاعده البيانات دورياً عن طريق ال Corn

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    163

    حفظ قاعده البيانات دورياً عن طريق ال Corn



    يوجد على نظام التشغيل لينكس برنامج يدير المهام المجدولة يدعى
    cron .. يصحو cron كل دقيقة لينفذ المهام الموجودة في ملفات تعليماته و التي تسمى crontabs ...

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

    كود:
    Minutes Hours Days Months WeekDay command
    لاحظ ان الفاصل بين مكونات الامر هو فراغ ... المكونات هي كالتالي :
    Minutes : الدقائق و هي من 00 الى 59
    Hours : الساعات من 0 الى 23 حيث 23 هي الحادية عشرة من الليل
    Days : الايام من 1 الى 31
    Months : الاشهر من 1 الى 12
    WeekDay : اليوم من الاسبوع وهي من 0 الى 6 حيث اليوم رقم 0 يرمز الى الاحد
    command : ما تود من نظام التشغيل تنفيذه ... لاحظ ان هذا امر نظام تشغيل و ليس جملة بي اتش بي ...

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

    ماذا تعني هذه الخانات ؟ تعني في اي شهر من السنة و اي يوم من ذلك الشهر و اي ساعة من ذلك اليوم ثم اي دقيقة من تلك الساعة تود ان ينفذ الامر المعطى ....

    قيمة هذه الخانات يمكن ان تكون :
    - رقما واحدا يدل على قيمة واحدة
    - علامة * لتدل على اي قيمة حسب التعاريف التي ذكرناها في الاعلى
    - مجموعة من الارقام مفصولة بفاصلة مثل 1,2,5,6 لتعني اي رقم فيها اي : 6 او 5 او 2 او 1
    - فترة من الارقام عبارة عن رقمين مفصولين بشرطة ... فلو كانت قيمة Days هي 9-11 فان هذا يعني اليوم التاسع و اليوم العاشر و اليوم الحادي عشر..

    مثال :
    التعليمة التالية :

    كود:
    0 0 15 3 * myprogram
    ستنفذ البرنامج myprogram في الخامس عشر من شهر مارس (الشهر الثالث من السنة) عند الساعة الثانية عشرة من الليل تماما و ذلك في اي يوم من الاسبوع وافق ذلك ..
    الصفر الاول : يعني الدقيقة اللاولى في الساعة
    الصفر الثاني: يعني الساعة الثانية عشرة
    15 : تعني اليوم الخامس عشر من الشهر
    3: تعني الشهر الثالث من السنة اي مارس
    * : تعني اي يوم في الاسبوع

    كود:
    0 0 * * 1 myprogram
    فان البرنامج سينفذ كل يوم اثنين (تذكر ان صفر يعني يوم الاحد) من كل شهر في السنة عند الساعة الثانية عشرة تماما
    ولو عدلناه الى التالي فسينفذ الكود في تمام الساعة السابعة صباحا و الساعة السابعة مساء من كل يوم في شهر يناير و فبراير من كل سنة

    كود:
     
    0 7,19 * 1,2 * myprogram
    ولو عدلناه الى التالي فسينفذ البرنامج كل نصف ساعة كل ثلاثاء من كل شهر في السنة

    كود:
     
    
    0,29 * * * 2  myprogram
    لا تحتاج الى حفظ هذه الاشياء مع انها ليست صعبة ... فهنالك هذه الاداة التي تمكنك من صناعة هذه الجملة بسهولة على هذه الصفحة:
    http://www.mtsdev.com/opensource/phpcrontab.php
    و بامكانك الحصول على مصدره من:
    http://www.mtsdev.com/opensource/php...utorial.tar.gz


    وهذا هو الكود الخاص بحفظ قاعده البيانات


    كود:
    #!/bin/bash 
    
    
    >       ### MySQL Configuration Variables ##### 
    > 
    >       # MySQL Hostname 
    >       DBHOST='hostname' 
    > 
    >       # MySQL Username 
    >       DBUSER='username' 
    > 
    >       # MySQL Password 
    >       DBPASSWD='password' 
    > 
    >       ### Configuration Variables ##### 
    > 
    >       ## Local Directory for Dump Files, must have trailing slash ## 
    >       ## I recommend a directory in your home folder, again not web root ## 
    >       LOCALDIR=/path/to/directory/ 
    > 
    >       # Prefix for .tar file backup, dont change. 
    >       TARPREFIX=db1 
    > 
    >       ### DB Names ##### 
    > 
    >       cd $LOCALDIR 
    >       SUFFIX=`eval date +%y%m%d-%H%M` 
    > 
    >       DBS=`/usr/local/bin/mysql -u$DBUSER -p$DBPASSWD -h$DBHOST -e"show databases"` 
    > 
    >       ## set your DB names below, replace db1 db2 with name of DB to backup ## 
    >       for DATABASE in db1 db2 db3 
    >       do 
    >       if [ $DATABASE != "Database" ]; then 
    >       FILENAME=$SUFFIX-$DATABASE.gz 
    >       /usr/local/bin/mysqldump -u$DBUSER -p$DBPASSWD -h$DBHOST $DATABASE | gzip --best > $LOCALDIR$FILENAME 
    >       fi 
    >       done 
    > 
    >       chmod 700 $LOCALDIR*.gz 
    > 
    >       tar -cf $TARPREFIX-$SUFFIX.tar $SUFFIX-*.gz 
    > 
    > 
    >       rm -f $TARPREFIX-$SUFFIX.tar 
    > 
    >       exit 0 
    >
    طبعا فى بعض المتغيرات اللى هانحط بدالها بيانات مواقعنا

    مثلا DBHOST هانحط قدامه الهوست بتاعنا وليكن مثلا http://localhost

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

    ملحوظه , شرح الcorn منقول من موقع php village للكاتب ابو محمد

    اتمنى انى اكون قدمت طبق سهل ولذيذ وسريع التحضير





    __________________
    !! هذه العضويه يستخدمها العديد من الأشخاص !!
    احمد سليمان غير متواجد حالياً


  2. #2
    Banned
    تاريخ التسجيل
    Aug 2004
    المشاركات
    45


    مشكور , فعلا

    موضوع مميز , ولكن للأسف لا اعلم ما هو الأمتداد الذى يحفظ به الأسكريبت

    اعتقد انه .sh

    لانه يبدأ ب #!/bin/bash

    ان شاء الله الأخوه هنا يفيدوك







    اشرف الفره غير متواجد حالياً





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

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

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