هذا شرح لخاصية مهمة جدا وغير معروفة لدى الاغلبية
ملاحظة:
1-الشرح حصريا وخاص و لاول مرة بالعربية ع http://www.php-ar.com
2- الشرح متعوب عليه فا ياليت الي ينقله يكتب انه من موقع www.php-ar.com
و اني انا الي كاتب الشرح kahahah65
يالله على بركة الله نبداء الشرح
ما هو ال corn ؟
هو عبارة عن امر يقوم بتشغيل الملف المراد تشغيله في الوقت المحدد وإن لم يكن هنالك زوار في موقعك
راح نتعرف عليه اكثر مع التطبيق
و هو ملف نصي يحتوي سلسلة وظائف
ماذا يستطيع corn ان يفعل لك ؟
>>>>>>إذا كنت تبي ترسل بريد الكتروني الى اعضاء موقعك ولنفترض الساعة 4:00 فجرا
وانت قد لا تكون متواجد بهذه الساعة و قد لا يكون هنالك اي عضو او اي زائر
سيقوم ال corn بعمل هذا بدل منك
تقدر تحدد انه يرسل يوم الاحد فقط او يوم الاثنين ( او اليومين جميع )
>>>>>> تقدر تحذف اعضاء من موقعك مثلا
انت عندك موقع باشتراك مدفوع لما ينتهي الاشتراك يتم حذفهم اليا
وضحت الفكرة شوي
نكمل
هل موقعك يعدم corn ؟
جميع المواقع التي تمتلك لوحة تحكم Cpanel
لديها هذه الخاصية
لكن قد تحتلف المسميات وهذي هي الي تكون موجودة في العادة
'Cron Manager' or 'Cron jobs'
مثال لكيفية العمل :
ملاحظة كيفية العمل بالطريقة الإحترافية فقط
للمبتدئين يشوفو الشرح الي قدام
لنفترض ان عندك ملف php يقوم بارسال رسائل للاعضاء
بمجرد الدخول اليه
Code..
30 23 * * * /home/username/www/mail-list.php
شرح الكود
اول شي نغير username الى اسم المستخدم الخاص بك
30- تعني عدد الدقائق الي راح يشتغل فيها الملف ( حددنا 30 دقيقة )
23- يعني عدد الساعات الي راح يشتغل فيها الملف ( حددنا 24 ساعة ) طبعا 23 بنظام 24 يكون موجود معاهم الصفر
* النجمة الاولى تعني عدد الايام ولما نحط * يعني كل يوم
* النجمة الثانية تعنني عدد الاشهر ولما نحط * يعني كل شهر
* النجمة الاخيرة تعني عدد الاسابيع ولما نحط * يعني كل الاسابيع
( يعني الملف راح يشتغل نصف ساعة كل يوم على مدار السنة )
نكمل شرح علشان نفهم اكثر
لو نبيه يشتغل كل يوم احد الساعة 11:30 ( احدى عشر ونصف )مساء
Code..
30 23 * * 0 /home/username/www/mail-list.php
نفس الشرح الاولي ما عداء ان النجمة الاخيرة صارت صفر
صفر يعني يوم الاحد
1 يعني الاثنين
2 يعني الثلاثاء
3 يعني الاربعاء
4 يعني الخميس
5 يعني الجمعة
6 يعني السبت
نكمل شرحنا
لو كنت تبي الملف يشتغل الساعة 1:00 والساعة 2:00 صباحا
Code..
* 1,2 * * * /home/username/www/mail-list.php
طبعا الكود واضع النجمة الاولى يعني 60 دقيقة
1,2 يعني الساعة الاولى والساعة الثانية
طبعا كذا راح يشتغل كل يوم فقط الساعة الواحدة حتى الساعة الثانية
لو كنت تبي تشغله من الساعة 1 الى الساعة 2 صباحا
من يوم الاثنين حتى يوم الجمعة
يصير الكود كذا
Code..
* 1,2 * * 1-5 /home/username/www/mail-list.php
وبكذا راح يشتغل فقط الوقت الي حددناه
كيفية تشغيل ال corn ؟
هنالك 3 طرق لتشغيله ماراح نشرحها لانها معقدة وتحتاج الى ال telnet
وغيره من الاشياء الي ماراح نحتاجها
علشان كذا
راح اشرحه ليكم بطريقة المبتدئين مثلي
شوفو الصورة هنا
مافيه اي تعقيد نفس الشي عندك
اول مربع فووووووووووق راح تحط فيه بريدك علشان راح توصلك رسالة إذا اشتغل الملف
يعني كل مرة يشتغل فيها الملف راح توصلك رسالة
( المربع المكتوب فيه kahahah6 )
المربع الثاني Command to run
هنا راح تخط فيه مسار الملف
ملاحظة الملف لازم يكون مساره زي كذا
Code..
/home/username/www/mali-list.php
وراح تغير username الى اسم المستخدم الخاص بك لدخول لوحة التحكم
نكمل
المربع الي بعده Minute(s): يعني الدقائق
وتقدر تختار اكثر من دقيقو او كل الدقائق ( كل الدقائق هو اول خيار في مجموعة الدقائق )
الخيار الثاني وهو الساعات Hour(s) وتقدر تختار عدد الساعات ( يعني في اي ساعة راح يشتغل )
وإذا اخترت ساعات منفصلة فهو راح يشتغل فقط في الساعات المحددة يعني إذا اخترت الساعة 1 و 5 راح يشتغل فقط الساعة الواحدة ثم ينطفي ويشتغل مرة ثانية الساعة خمسة
اعتقد مفهومة الفكرة
day راح تحدد اي يوم تبيه يشتغل كل اليام ولى السبت ولى الاحد كل شخص وكيفه
و المربع الاخير weekday وهنا عدد الاسابيع
طبعا راح تختار بكيفك تالي بتضغط Save Crontab
ويعني حفظ المهمة المؤقتة
---- وبكذا نكون خلنا التشغيل
المشاكل الي ممكن تصادفك
لو انت خليته انه يشتغل كل نصف ساعة وش راح يصير ؟؟؟
لنفترض ان عندك الف شخص في قائمتك البريدية
و في النصف ساعة راح يرسل الى 100 شخص فقط
فهل لما تشغله مرة ثانية راح يرسل الى ال 100 الي بعدها ؟؟؟
لا طبعا راح يبدي من البداية وهاكذا
هذي مشكلة وحلها انك تخليه يشتغل اليوم كله
طلعا لما تخليه يشتغل اليوم كله لما ينتهي من الإرسال بيرسل مرة ثانية
وهذي مشكلة لو استغرق ارسال الف رسالة ساعة واحدة وهذا عدد الاعضاء
يعني راح يرسل 24000 رسالة في اليوم كله بحكم ان اليوم فيه 24 ساعة
علشان كذا لازم نعدل على الكود الي نحطه
و نظيف عليه
Code..
>/dev/null 2>&1
الكود كامل
Code..
30 23 * * * /home/username/www/mail-list.php>/dev/null 2>&1
-----
الطريقة الصحيحة لوضع الكود تكون كتالي
Code..
home/user/www/mail-list.php
بدون عدد الساعات ( طبعا لشرحنا هذا ) وللمحترفين يحطو ساعات
أحنى بالطريقة الي شرحناها ماراح نحط ساعات
الكود الخاطى
Code..
http://www.yourdomain.com/mail-list.php
للمحترفين
في حال وضع الوقت لا تقم وضع المسافات بين وقت واخر
اتمنى يكون الشرح واضح
إذا كان عندكم اي استفسارات اخرى
ممكن تسئلوني و ممكن تسئلو صاحب شركة الاستضافة إذا كان محترف راح يعلمكم
منقووول
http://www.php-ar.com/showthread.php...388d8a13614c69
ولاانه درس مميز نقلتة اليكم
تحياتي
WWW.ARAB-M.COM