جدول مهام كرون (Crontab)
Crontab
الشرح المبسط
الشرح التقني المتقدم
تعتبر أداة جدول مهام كرون (Crontab) من أهم الأدوات في إدارة أنظمة لينكس (Linux)، حيث تعتمد على خادم العمليات بالخلفية (Daemon) المسمى كرون (Cron) لتنفيذ السكربتات والأوامر بشكل دوري ومجدول. يعمل هذا الخادم في الخلفية ويفحص جداول المهام باستمرار لتنفيذ أي أمر يحين وقته دون أي تدخل بشري.
فهم البنية النحوية لجدول المهام
يعتمد الجدول على خمسة حقول زمنية متتالية تسبق الأمر المراد تنفيذه، وتتوزع كالتالي: الدقيقة، الساعة، يوم الشهر، الشهر، ويوم الأسبوع.
ملف التكوين (Configuration File): يمتلك كل مستخدم في النظام ملفا خاصا به لجدولة مهامه، بينما يوجد ملف عام للنظام بالكامل يسمى جدول مهام النظام (System Crontab).
إدارة المهام المجدولة (الأمر crontab)
لإضافة مهمة جديدة أو تعديل المهام الحالية للمستخدم الحالي، يتم فتح محرر النصوص الافتراضي لجدول المهام عبر هذا الأمر:
أمر التنفيذ:
crontab -e
إليك مثال يوضح كيفية جدولة أمر لأخذ نسخة احتياطية كل يوم في تمام الساعة 2:30 صباحا، وتوجيه المخرجات إلى ملف السجلات (Logs) مع كتم الأخطاء:
30 2 * * * /usr/bin/tar -czf /backup/data.tar.gz /data > /dev/null 2>&1
توضيح للخيارات والأوامر الشائعة عند التعامل مع الجدولة:
- سرد المهام: استخدم الأمر
crontab -lلعرض جميع المهام المجدولة الخاصة بك دون التعديل عليها. - حذف الجدول: يقوم الأمر
crontab -rبمسح جميع مهامك المجدولة نهائيا، لذا يجب استخدامه بحذر شديد. - تحويل المخرجات: ينصح دائما باستخدام التوجيه
> /dev/null 2>&1لمنع النظام من إرسال رسائل بريد إلكتروني (Emails) مزعجة بعد كل عملية تنفيذ.
ملاحظة ختامية: مسارات الأوامر (Absolute Paths)
من أفضل الممارسات عند كتابة المهام المجدولة هو استخدام المسارات المطلقة (Absolute Paths) للأوامر والملفات، لأن بيئة تشغيل المهام (Environment Variables) تختلف عن بيئة المستخدم العادية وقد لا تتعرف على مسار الأوامر المختصرة.