حرف C

مجدول المهام (Cron)

Cron

آخر تحديث: 2026-10-24
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

تخيل أن لديك مساعدا شخصيا يوقظك كل يوم في الساعة السابعة صباحا، ثم يقوم بعمل نسخة احتياطية لملفاتك كل يوم جمعة، ويمسح المهملات في نهاية كل شهر، كل ذلك دون أن تطلب منه ذلك في كل مرة. في نظام لينكس (Linux)، هذا المساعد يسمى كرون (Cron). هو عبارة عن برنامج يعمل في الخلفية بشكل دائم، وينتظر وصول الوقت الذي حددته له مسبقا ليقوم بتنفيذ أوامر أو برامج معينة بشكل تلقائي بالكامل. هذا يوفر عليك الكثير من الوقت والجهد، خاصة في المهام الروتينية المتكررة التي تحتاج إلى دقة في مواعيد تنفيذها.

الشرح التقني المتقدم

تعتبر خدمة كرون (Cron) من أهم الخدمات الخفية (Daemons) في أنظمة لينكس (Linux)، حيث تعمل في الخلفية باستمرار للتحقق من المهام المجدولة وتنفيذها في أوقات دقيقة. تعتمد هذه الخدمة على فحص ملفات الجدولة كل دقيقة لمعرفة ما إذا كان هناك أمر برمجي (Command) أو نص برمجي (Script) يحتاج إلى التنفيذ، مما يجعلها العصب الرئيسي لعمليات الأتمتة (Automation) وإدارة الخوادم.

بنية ملفات الجدولة وعملها

تعتمد خدمة الجدولة على ملفات نصية خاصة تحتوي على التعليمات والأوقات لتعمل كجدول زمني متكامل للمهام:

ملف كرون تاب (Crontab): هو الملف الذي يخزن المهام الخاصة بكل مستخدم (User). يحتوي كل سطر في هذا الملف على خمسة حقول تحدد الوقت والتاريخ، يليها الأمر المراد تنفيذه. الحقول بالترتيب هي: الدقيقة، الساعة، يوم الشهر، الشهر، ثم يوم الأسبوع.

التعامل العملي مع أوامر الجدولة

لإضافة مهمة جديدة أو التعديل على المهام المجدولة الخاصة بك، ستحتاج إلى فتح ملف الجدولة في محرر النصوص (Text Editor) الافتراضي للنظام:

أمر التعديل أو الإنشاء:

crontab -e

توضيح لما يحدث عند استخدام الأوامر والصيغ التقنية لجدولة المهام وكيفية التعامل مع مخرجاتها:

  • صيغة الوقت: استخدام النجمة في جميع الحقول * * * * * يعني تنفيذ الأمر كل دقيقة. استبدال النجمة الأولى بصفر والثانية بصفر 0 0 * * * يعني التنفيذ عند منتصف الليل يوميا.
  • التحقق من المهام: يمكنك استخدام الأمر crontab -l لعرض جميع المهام المجدولة الخاصة بك حاليا دون الخوف من التعديل عليها بالخطأ.
  • توجيه المخرجات: ينصح دائما بتوجيه مخرجات المهام إلى ملف نصي (Log File) باستخدام > /path/to/logfile.log 2>&1 لضمان تسجيل المخرجات العادية وأي أخطاء (Errors) لمراجعتها لاحقا.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

عند كتابة مهام مجدولة، استخدم دائما المسارات المطلقة (Absolute Paths) للبرامج والملفات (مثل كتابة /usr/bin/python3 بدلا من python3 فقط)، لأن بيئة التشغيل (Environment Variables) الخاصة بالخدمة تختلف عن بيئة سطر الأوامر (Terminal) المعتادة، وقد تفشل المهام في العمل إذا لم تتعرف على مسار الأمر.