إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

الاجراءات الدوريه في نظام لينكس

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • الاجراءات الدوريه في نظام لينكس

    بسم الله الرحمن الرحمن الرحيم
    الاجراءات الدوريه في نظام لينكس
    نظام الدرس حيكون اجابة لثلاث اسئله
    1-what
    2-why
    3-how

    ما هي الاجراءات الدوريه؟
    الاجرائات الدوريه هي اجراءات تقوم بالعمل في فترة معينه او زمن معين
    مثال:- اغلبكم يعرف scheduled tasks in windows وطريقة عملها

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

    كيف يتم التعامل معها؟
    باستخدام CRON

    تقوم خدمة cron بالعمل عند بدء تشغيل النظام وتبقي في خلفية النظام ثم تقرا ملفات الاعداد ب cron
    وتحدد الوقت لنفيذ الاجراءات تنفذ التعليمات بواسطة sh لذلك اي عملية يمكن تفيذها في الشيل يمكن تنفيذها
    في cron .
    بداية ظهور خدمة cron كان في عائلة يونكس عام 1970 لكنها كانت صعبة الاستخدام
    النسخة الصادره مع لينكس هي نسخة معدلة تعرف باسم vixie cron نسبة الى مبرمجها Paul Vixie
    حيث هذا الاصدار محسن وافضل من سابقه


    يسمى ملف الاعداد ب crontab اختصارا با cron table ويبحث cron عن ملف الاعداد في ثلاثة اماكن هي:
    كود:
    /var/spool/cron/
    او في المجلدات الفرعية tabs في سوزي او سوزا , crontabs في ديبيان وسلاكوير
    وفي
    كود:
    /etc/cron.d/
    وفي
    كود:
    /etc/crontab/
    حينما تبدا خدمة cron بالعمل تحمل المهام المجدولة في الذاكرة وتبقى في وضعية الاستعداد حتى ياتي زمنها
    وتبدا في التنفيذ

    كملنا النظري ندخل في العملي

    اعداد ملف ال crontab
    نشغل الامر
    كود:
    crontab -e
    اسطر التعليقات للتذكير
    here is the comment#
    minute hour day month weekday [Username] command
    يتم الفصل بواسطة فراغ واحد
    يستخدم ال username فقط داخل
    كود:
    /etc/cron.d/
    كود:
    /etc/crontab/
    لتحديد اسم المستخدم الذي تنفذ لديه التعليمة

    minute 0-59
    hour 0-23
    day 1-31
    month 1-12
    weekday 0-6 0 = sunday
    * لتحديد جميع القيم
    الاعداد تكون طبيعية بدون كسور
    a-b الاعداد من a الى b
    a,b الاعداد a و b

    مثال
    1-5 * * 10 30
    الساعة 10:30 من الاثنين الى الجمعة

    6 * 1 * 0,30
    كل نص ساعة في اول يوم الشهر او كل نص ساعة في كل يوم سبت

    اذا افترضنا 0,3,6,9,12,15,18 ندخلها بشكل
    0-21 / 3

    مثال

    كود:
    * * * * * (touch /root/crontest)
    لانشاء الملف cronttest داخل دليل ال root كل دقيقة


    كود:
    30 10 * * 1-5 (cd /home/oem/; run_Script)
    الفاصلة المنقوطة لتطبيق اكثر من امر

    اوامر :
    للتعديل ملف الاعداد
    كود:
    crontab -e
    فيقوم بعرض ملف الاعداد
    كود:
    crontab -l
    يقوم بمسح الاعدادات الحالية
    كود:
    crontab -r
    يقوم بتحديد المستخدم لملف الاعداد
    كود:
    crontab -u

    مثلا
    كود:
    crontab -u oem -r
    مسح ملف الاعداد الخاص بالمستخدم oem

    ملاحظة لتصبح التعليمة ساريه المفعول يجب اعادة تشغيل الخدمة
    يوجد كذلك مجلدات تسهل العملية مثل
    كود:
    /etc/cron.daily/
    يتم تنفيده محتوياته مره كل يوم
    كود:
    /etc/cron.weekly/
    يتم تنفيذ محتوايه مرة اسبوعيا
    كود:
    /etc/cron.monthly/
    يتم تنفيذ محتوايه مرة شهريا
    كود:
    /etc/cron.hourly/
    يتم تنفيذ محتوايه مرة كل ساعة
    ويتم اضافة المحتوى في شكل صيغة شبل

    والحمد لله رب العالمين
    وسامحوني على الاطالة

    ملاحظات:-
    المصدر من Linux for Administrators
    ان اخطات صححوني
    ان احسنت شجعوني
    وان اهملت نبهوني

    مع تحيات DarkLinux
    My sickness is called frozen mind
    and hopefully I'll find the cure for it

  • #2
    الله يعطيك العافيه اخوي بس فيه ملاحظه بسيطه

    وهي انك ما وضحت الاعدادات حسب اماكنها في ملف crontab

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

    cron من اهم البرامج لمدير السيرفر

    تعليق


    • #3
      المشاركة الأصلية بواسطة عبد العزيز مشاهدة المشاركة
      الله يعطيك العافيه اخوي بس فيه ملاحظه بسيطه

      وهي انك ما وضحت الاعدادات حسب اماكنها في ملف crontab

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

      cron من اهم البرامج لمدير السيرفر
      اعذرني ما فهمتك
      واي شي احنا جاهزين
      My sickness is called frozen mind
      and hopefully I'll find the cure for it

      تعليق


      • #4
        السلام عليكم
        ما شاء الله اخي DarkLinux
        درس رائع جدا .. الف شكر
        تحياتي.
        ......

        تعليق


        • #5
          مشكور أخوي على الدرس الجميل
          سبحان الله وبحمده سبحان الله العظيم

          تعليق


          • #6
            السلام عليكم مرة اخرى
            لي بعض الاسئلة ان امكن و شكرا مسبقا

            الظاهر ان النظام يقوم بفحص محتوى crontab كل دقيقة !! اذا كنت مخطئ صحح لي.
            اذا كان صحيح افلا يستهلك من طاقة المعالج كثيرا ؟؟

            لا ادري ان كانت هناك صلاحيات لجعل cron يبحث كل ثانية مثلا او اقل ، او حتى برنامج آخر يعمل هذا العمل.

            تعليق


            • #7
              جزاك الله خير


              شوي من هنا وشوي من هناك ونمشي الحال
              شو بتسوي إذا الويندوز جيم عليك؟؟:shocking:

              تعليق


              • #8
                المشاركة الأصلية بواسطة fakir مشاهدة المشاركة
                السلام عليكم مرة اخرى
                لي بعض الاسئلة ان امكن و شكرا مسبقا

                الظاهر ان النظام يقوم بفحص محتوى crontab كل دقيقة !! اذا كنت مخطئ صحح لي.
                اذا كان صحيح افلا يستهلك من طاقة المعالج كثيرا ؟؟

                لا ادري ان كانت هناك صلاحيات لجعل cron يبحث كل ثانية مثلا او اقل ، او حتى برنامج آخر يعمل هذا العمل.
                تقريبا كلامك صحيح
                البرنامج يعمل كخدمة لا اكثر ولا اقل يقرا من ملف نصي
                نسبيا الاستهلاك غير موثر
                لا العملية ليست اكثر من قراءة
                واذا لقي شي ينفذه يصير كلام ثاني
                My sickness is called frozen mind
                and hopefully I'll find the cure for it

                تعليق


                • #9
                  مشاء الله الموضوع كامل

                  واحب توضيح ان cron لا يستهلك من المعالج الا القليل لانه يعمل ك Daemon دائما

                  على عكس cron في انظمة يونيكس حيث يعمل ال cron daemon في حالة وجود ما ينفذه فقط

                  واستهلاك الموارد يتوقف على ما تقوم بتنفيذه او تشغيله انت باستخدام cron
                  There's no place like 127.0.0.1

                  تعليق


                  • #10
                    السلام عليكم
                    شكرا على التجاوب الجميل
                    انا كان قصدي ما يلي:
                    هل يستعمل هذا البرنامج طريقة loop و يقوم كل مرة بـtest ام يستعمل طريقة Interruptions مثلا Timer ام يستعمل طريقة اخرى ........
                    شكرا جزيلا.

                    تعليق


                    • #11
                      الله اعلم
                      الطريقة الثانية شكلها اخف على النظام
                      ولا ايش رايك يا Net_Spider
                      My sickness is called frozen mind
                      and hopefully I'll find the cure for it

                      تعليق

                      يعمل...
                      X