- يتيح لك Crontab Linux جدولة المهام تلقائيًا في أوقات محددة.
- يتضمن هيكل ملف Crontab حقولاً مثل الدقائق والساعات والأوامر.
- يمكن إعادة توجيه المخرجات والأخطاء للتحكم في المهام بشكل أفضل.
- من المهم التحقق من المسارات والأذونات لتجنب الأخطاء في التنفيذ.
ما هو Crontab Linux؟
يُعدّ Crontab في نظام لينكس ميزة أساسية لمسؤولي النظام ومستخدمي لينكس المتقدمين. فهو مُجدول مهام يسمح بتشغيل الأوامر أو البرامج النصية تلقائيًا في أوقات محددة أو على فترات منتظمة. يستخدم Crontab ملفًا خاصًا لتحديد المهام ومواعيد تنفيذها.
الإعداد الأولي
قبل أن تبدأ في جدولة المهام باستخدام Crontab Linux، تحتاج إلى معرفة الأساسيات وتكوين بيئتك بشكل صحيح.
تثبيت Crontab على Linux
للبدء، تأكد من تثبيت Crontab على نظامك. في معظم توزيعات Linux، يكون مضمنًا بالفعل، ولكن إذا لم يكن لديك، فيمكنك تثبيته بسهولة باستخدام الأمر التالي:
sudo apt-get install cron
بمجرد التثبيت، يمكنك التحقق من تشغيل الخدمة من خلال:
حالة Systemctl كرون
بنية ملف Crontab
يستخدم Crontab ملفًا خاصًا لتخزين المهام المجدولة. يتبع هذا الملف بنية محددة. وفيما يلي نظرة عامة:
| حقل | وصف | القيم المقبولة |
|---|---|---|
| دقيقة | دقيقة الساعة (0 – 59) | 0-59 |
| حورس | الوقت من اليوم (0 – 23) | 0-23 |
| يوم من الشهر | يوم الشهر (1 – 31) | 1-31 |
| شهر | الشهر (1 – 12 أو اسم الشهر) | 1-12 أو يناير، فبراير، …، ديسمبر |
| ديا دي لا سمانا | يوم الاسبوع (0 – 6) | 0-6 يوم الأحد، الاثنين، …، السبت |
| قيادة | أمر للتنفيذ | مسار البرنامج النصي أو الأمر |
يوضح الجدول أعلاه الحقول التي يتكون منها ملف Crontab والقيم المقبولة لكل حقل.
أمثلة عملية
الآن بعد أن تعرفت على البنية الأساسية لملف Crontab، دعنا نلقي نظرة على بعض الأمثلة العملية حول كيفية جدولة المهام.
المهام اليومية في وقت محدد
تخيل أنك تريد عمل نسخة احتياطية لملفاتك كل يوم في الساعة 2:30 ظهرًا. يمكنك جدولة ذلك على النحو التالي:
30 14 * * * /path/to/copy-command.sh
في هذا المثال، يمثل "30" الدقائق، ويمثل "14" الساعات، وتشير علامات النجمة في الحقول الأخرى إلى أن المهمة سيتم تنفيذها كل يوم وكل شهر.
الواجبات الاسبوعية يوم الاحد
إذا كنت تريد تشغيل مهمة فقط يوم الأحد الساعة 9:00 صباحًا، فيمكنك القيام بذلك على النحو التالي:
0 9 * * 0 /path/to/task-command.sh
يمثل الحقل "0" في المقام الأول الدقائق، ويمثل "9" الساعات، ويشير "0" في الحقل الأخير إلى أن المهمة سيتم تشغيلها أيام الأحد فقط.
المهمة الشهرية في اليوم الأول من الشهر
افترض أن لديك مهمة شهرية يجب تشغيلها في اليوم الأول من كل شهر في الساعة 3:00 صباحًا:
0 3 1 * * /path/to/monthly-command.sh
في هذه الحالة، يشير "0" إلى الدقائق، و"3" إلى الساعات، و"1" إلى يوم الشهر.
الحيل والنصائح
إعادة توجيه الإخراج
عند جدولة المهام باستخدام Linux Crontab، من المهم إدارة خروج المهام. يمكنك إعادة توجيه الإخراج القياسي والأخطاء إلى ملف لمراجعته لاحقًا:
30 14 * * * /path/to/copy-command.sh > /path/to/output-file.log 2>&1
يقوم سطر الأوامر هذا بإعادة توجيه الإخراج القياسي إلى الملف "output-file.log" وإخراج الخطأ إلى نفس الملف.
تحرير ملف Crontab
لتحرير ملف Crontab الخاص بك، يمكنك استخدام الأمر التالي:
-e كرونتاب
سيؤدي هذا إلى فتح الملف في محرر النصوص الافتراضي لديك، حيث يمكنك إضافة مهام مجدولة أو تعديلها أو حذفها.
الأتمتة المتقدمة مع Crontab Linux
حتى الآن، قمنا بتغطية أساسيات Linux Crontab وكيفية جدولة المهام البسيطة. الآن، دعونا نستكشف الأتمتة المتقدمة وبعض التقنيات المفيدة.
تشغيل المهام على فترات زمنية مخصصة
يتيح لك Crontab تشغيل المهام على فترات زمنية مخصصة. على سبيل المثال، إذا كنت تريد تشغيل مهمة كل 15 دقيقة، فيمكنك القيام بذلك على النحو التالي:
*/15 * * * * /path/to/task-command.sh
تعني العلامة النجمية التي تليها "/15" في حقل الدقائق أن المهمة سيتم تشغيلها كل 15 دقيقة.
دمج التواريخ والأوقات
يمكنك الجمع بين التواريخ والأوقات لجدولة المهام الدقيقة. على سبيل المثال، إذا كنت تريد تشغيل مهمة في 15 يناير في الساعة 3:30 مساءً، يمكنك القيام بذلك على النحو التالي:
30 15 15 1 * /path/to/task-command.sh
تجنب تحولات الجدول الزمني
من المهم أن نأخذ في الاعتبار تغييرات الوقت عند جدولة المهام. يتيح لك Crontab Linux تجنب مشاكل انجراف الوقت من خلال استخدام UTC بدلاً من الوقت المحلي. للقيام بذلك، يمكنك تعيين المنطقة الزمنية في ملف Crontab الخاص بك:
TZ=UTC 30 14 * * * /path/to/task-command.sh
سيضمن هذا تشغيل المهمة في نفس الوقت بغض النظر عن تغييرات الوقت المحلي.
استكشاف الأخطاء وإصلاحها والأخطاء الشائعة
إن جدولة المهام باستخدام Crontab Linux أمر قوي، ولكنه قد يكون أيضًا عرضة للأخطاء. فيما يلي بعض النصائح لاستكشاف المشكلات الشائعة وإصلاحها.
التحقق من مسار الأمر
أحد الأخطاء الأكثر شيوعًا هو تحديد مسار غير صحيح للأمر أو البرنامج النصي الذي تريد تشغيله. تأكد من أن المسار صحيح وأن الملف قابل للتنفيذ.
التحقق من أذونات التنفيذ
إذا لم تكن مهامك قيد التشغيل، فتأكد من أن الملفات والبرامج النصية لديها أذونات التنفيذ الصحيحة. يمكنك استخدام الأمر chmod لتعيين الأذونات المناسبة.
مراجعة ملف السجل
إذا واجهتك مشاكل مع مهمة ما، فتحقق من ملف السجل الذي حددته في Crontab. ستجد هناك معلومات مفصلة حول الأخطاء.
اختتام
في هذه المقالة، استعرضنا برنامج Crontab Linux وكيفية استخدامه لجدولة المهام بكفاءة. بدءًا من التثبيت وصولًا إلى جدولة المهام المتقدمة واستكشاف الأخطاء وإصلاحها، أصبح لديك الآن الأدوات اللازمة لأتمتة المهام على نظام Linux الخاص بك . يمكنك أيضًا التعرف على مواضيع أخرى ذات صلة، مثل الجدولة وأهميتها في الأتمتة.