🚀 New: Enterprise hosting solutions — Visit UK Speed →

Press Esc to close · Enter to search

VPS Hosting

كيف تجدول المهامّ على VPS بـ Cron Jobs 2026

كيف تجدول المهامّ على VPS بـ Cron Jobs 2026

جدولة المهام بـ Cron هي الطريقة القياسية لتشغيل الأوامر والسكربتات تلقائيًا في أوقات محدّدة على أي خادوم يعمل بنظام Linux. فبدل أن تسجّل الدخول كل ليلة لتأخذ نسخة احتياطية أو تنظّف ملفات مؤقتة أو تحدّث قاعدة بيانات، تكتب القاعدة مرة واحدة ويتولّى نظام cron تنفيذها نيابة عنك بدقّة وفي الموعد المضبوط. هذا الدليل العملي يشرح لك كيف تعمل مهامّ cron على VPS، وكيف تقرأ صيغة الوقت، وكيف تنشئ أول وظيفة وتديرها وتتجنّب الأخطاء الشائعة التي تجعلها تفشل بصمت.

جدولة المهام بـ Cron: ما هي ولماذا تحتاجها على VPS؟

جدولة المهام بـ Cron

جدولة المهام بـ Cron تعني إسناد تنفيذ أمر أو سكربت إلى جدول زمني ثابت يُنفَّذ دون تدخّل بشري. على خادوم افتراضي خاص تعمل عليه مواقع وتطبيقات تعمل على مدار الساعة، هذه القدرة ليست رفاهية بل ضرورة تشغيلية: النسخ الاحتياطي اليومي، وتدوير السجلّات، وإرسال التقارير، وتجديد شهادات SSL، وتشغيل مهامّ الطابور في إطارات العمل، كلّها تعتمد على مُجدوِل موثوق يعمل في الخلفية. إن كنت ما زلت في بداية الطريق مع الخواديم فننصحك أولًا بقراءة دليل ما هو الـ VPS ولمن يصلح لتفهم البيئة التي ستشغّل فيها هذه المهامّ.

الميزة الكبرى أنّ cron مدمج في كل توزيعات Linux تقريبًا، فلا تحتاج إلى تثبيت أدوات إضافية ولا خدمات خارجية. تكتب تعريف المهمّة في ملف نصّي بسيط، ويضمن النظام تشغيلها حتى لو أعيد تشغيل الخادوم، ما دامت خدمة cron فعّالة. هذا الاستقلال التام عن جلسات تسجيل الدخول هو ما يجعل جدولة المهام على VPS موثوقة: المهمّة تعمل سواء كنت متّصلًا أم لا.

تذكّر أنّ البديل عن cron هو التنفيذ اليدوي، وهو بديل هشّ بطبيعته: ينسى الإنسان، ويتأخّر، ويخطئ في التوقيت، ويعجز عن العمل ليلًا أو في العطل. أمّا الأتمتة فتضمن الاتّساق التام: المهمّة نفسها، في الوقت نفسه، بالطريقة نفسها، في كل مرّة. وهذا الاتّساق هو ما يفرّق بين خادوم يُدار باحتراف وخادوم يعتمد على ذاكرة مسؤوله. كلّما كبر مشروعك وزادت المهامّ الدورية، ازدادت قيمة هذا المُجدوِل الصامت الذي يعمل في الخلفية بلا كلل.

كيف يعمل Cron (الـ daemon و crontab)

يتكوّن النظام من جزأين. الجزء الأول هو عفريت الخدمة أو الـ daemon واسمه cron (أو crond في بعض التوزيعات)، وهو عملية تعمل في الخلفية باستمرار، تستيقظ كل دقيقة، وتفحص جداول المهامّ لترى أيّها حان وقته فتنفّذه. الجزء الثاني هو ملف الجدول نفسه المسمّى crontab (اختصار لـ cron table)، وهو الذي تكتب فيه تعريفات وظائف cron الخاصة بك.

لكل مستخدم على الخادوم ملف crontab خاص به، إضافةً إلى جداول على مستوى النظام في المسار /etc/crontab والمجلد /etc/cron.d. عندما تنفّذ أمر crontab -e فأنت تحرّر جدول المستخدم الحالي فقط، وهذا هو المكان الأنسب لأغلب المهامّ اليومية. يعمل الـ daemon بصلاحيات المستخدم صاحب الجدول، لذا احرص على أن يملك هذا المستخدم الصلاحيات اللازمة لتنفيذ ما تطلبه منه. وللتعامل مع الملفات والمسارات بثقة يفيدك إتقان أوامر Linux الأساسية للخادوم.

فهم صيغة crontab: الحقول الخمسة للوقت

صيغة crontab والحقول الخمسة للوقت

كل سطر في crontab يبدأ بخمسة حقول زمنية مفصولة بمسافات، يتبعها الأمر المراد تنفيذه. الترتيب ثابت: الدقيقة، ثم الساعة، ثم يوم الشهر، ثم الشهر، ثم يوم الأسبوع. الصيغة الكاملة تكون على الشكل الدقيقة الساعة اليوم الشهر يوم_الأسبوع الأمر. فهم هذه الحقول الخمسة هو مفتاح قراءة أي مهمّة وكتابتها بثقة.

الحقلالمدى المسموحالمعنى
الدقيقة0 – 59الدقيقة داخل الساعة
الساعة0 – 23الساعة بنظام 24 ساعة
يوم الشهر1 – 31اليوم من الشهر
الشهر1 – 12رقم الشهر (أو اسمه المختصر)
يوم الأسبوع0 – 70 و7 كلاهما الأحد

مثال تطبيقي: السطر 0 3 * * * يعني «عند الدقيقة صفر من الساعة الثالثة فجرًا، كل يوم»، لأنّ النجمة في حقل اليوم والشهر ويوم الأسبوع تعني «كل القيم الممكنة». أمّا 30 2 * * 1 فيعني «الساعة 2:30 فجرًا كل يوم اثنين». قراءة الحقول من اليسار إلى اليمين تجعل أي تعبير مفهومًا خلال ثوانٍ.

الخطأ الأكثر شيوعًا عند المبتدئين هو الخلط بين حقل يوم الشهر وحقل يوم الأسبوع. تذكّر أنّ الحقل الثالث يخصّ رقم اليوم في الشهر (مثل اليوم 15)، بينما الحقل الخامس يخصّ أيام الأسبوع حيث يمثّل الصفر أو السبعة يوم الأحد. حين يحمل كلا الحقلين قيمةً محدّدة في آنٍ واحد، تعمل المهمّة إن تحقّق أحد الشرطين لا كلاهما، وهو سلوك يفاجئ كثيرين ويستحقّ الانتباه عند كتابة جداول دقيقة.

كيف تنشئ أول مهمّة cron خطوة بخطوة (crontab -e)

خطوات إنشاء مهمّة cron

إنشاء أول وظيفة أبسط ممّا تتوقّع. اتبع هذه الخطوات بالترتيب، وستحصل على مهمّة تعمل تلقائيًا خلال دقائق. تفترض الخطوات أنّك متّصل بالخادوم عبر الطرفية، وإن لم تكن كذلك فراجع كيفية الاتصال بالخادوم عبر SSH أولًا.

  1. افتح جدول المستخدم الحالي للتحرير بالأمر crontab -e؛ عند أول مرة قد يطلب منك اختيار محرّر نصوص مثل nano.
  2. انتقل إلى سطر جديد فارغ في نهاية الملف.
  3. اكتب تعبير الوقت المكوّن من الحقول الخمسة، مثل 0 3 * * * للتشغيل يوميًا في الثالثة فجرًا.
  4. بعد مسافة، اكتب الأمر كاملًا بمسار مطلق، مثل تشغيل سكربت نسخ احتياطي مع مساره الكامل.
  5. احفظ الملف وأغلقه؛ سيؤكّد النظام بتثبيت الجدول الجديد تلقائيًا دون الحاجة لإعادة تشغيل أي خدمة.

للتأكّد من أنّ المهمّة سُجّلت فعلًا، نفّذ crontab -l لعرض محتوى جدولك الحالي. إن ظهر السطر الذي كتبته فأنت على الطريق الصحيح، ولم يبقَ إلا انتظار الموعد أو تعديل الوقت مؤقتًا إلى دقيقة قريبة لاختبار التنفيذ.

أمثلة عملية شائعة (نسخ احتياطي، تحديثات، تنظيف، سكربتات)

أفضل طريقة لإتقان جدولة المهام على VPS هي الاطّلاع على أنماط جاهزة وتكييفها. القائمة التالية تجمع أشهر الاستخدامات التي ستحتاجها فعليًا على خادوم إنتاجي، مع تعبير الوقت ومعناه بالكلمات.

  • 0 2 * * * — نسخ احتياطي يومي الساعة الثانية فجرًا حين يكون الحمل منخفضًا.
  • 0 4 * * 0 — تنظيف أسبوعي للملفات المؤقتة فجر كل أحد.
  • */15 * * * * — تشغيل سكربت مزامنة أو فحص كل 15 دقيقة طوال اليوم.
  • 0 0 1 * * — مهمّة شهرية تعمل في بداية كل شهر لإصدار التقارير.

تحديثات النظام الأمنية مثال آخر مهمّ، لكن نفّذها بحذر وراقب مخرجاتها لأنّها قد تتطلّب إعادة تشغيل خدمات. وقبل أتمتة التحديثات يستحسن أن تفهم سياقها الأمني كاملًا عبر دليل تحديث الخادوم وتأمينه. القاعدة الذهبية: اجعل كل مهمّة تستدعي سكربتًا واحدًا واضحًا بدل حشو أوامر طويلة في سطر crontab نفسه.

لاحظ الفارق في فلسفة التوقيت: المهامّ الثقيلة كالنسخ الاحتياطي وتدوير السجلّات تُجدوَل في ساعات الذروة المنخفضة فجرًا لئلّا تؤثّر في أداء الموقع أمام الزوّار، بينما مهامّ المراقبة والمزامنة الخفيفة تتكرّر كل بضع دقائق طوال اليوم. حين تصمّم جدولك، وزّع الأحمال بذكاء على مدار الساعة بدل تكديس عدّة مهامّ ثقيلة في اللحظة نفسها، فذلك قد يستهلك موارد الخادوم دفعةً واحدة ويبطئ كل شيء.

الرموز الخاصة والاختصارات (* , – / و @daily و @reboot)

تكتسب صيغة crontab مرونتها من مجموعة صغيرة من الرموز التي تختصر تعبيرات معقّدة. إتقان هذه الرموز يغنيك عن كتابة أسطر متعدّدة لنفس الغرض.

  • * النجمة: تعني «كل القيم» في الحقل، فوضعها في حقل الساعة يعني كل ساعة.
  • , الفاصلة: تحدّد قيمًا متعدّدة، مثل 0,30 في حقل الدقيقة للتشغيل عند الدقيقة صفر والدقيقة 30.
  • - الشرطة: تحدّد مدى متّصلًا، مثل 1-5 في حقل يوم الأسبوع ليعمل من الاثنين إلى الجمعة.
  • / المائلة: تحدّد خطوات، فـ */10 في حقل الدقيقة يعني كل عشر دقائق.
  • @daily و@weekly و@monthly: اختصارات جاهزة تغني عن كتابة الحقول الخمسة لمهامّ منتصف الليل الدورية.
  • @reboot: اختصار خاص ينفّذ المهمّة مرة واحدة عند كل إقلاع للخادوم، مفيد لتشغيل خدمات عند بدء التشغيل.

إدارة المهام: العرض والتعديل والحذف وتسجيل المخرجات

بعد إنشاء وظائف cron تحتاج إلى أدوات لإدارتها. لعرض جميع مهامّ المستخدم الحالي استخدم crontab -l، وللتحرير استخدم crontab -e، أمّا لحذف الجدول بالكامل فاستخدم crontab -r بحذر لأنّه يمسح كل المهامّ دفعةً واحدة دون تأكيد. إن كنت تدير خادومًا متعدّد المستخدمين فيمكن للمدير عرض جدول مستخدم محدّد عبر الخيار -u متبوعًا باسم المستخدم.

النقطة الأهم عمليًا هي تسجيل المخرجات أو logging. بشكل افتراضي يحاول cron إرسال أي مخرجات أو أخطاء إلى بريد المستخدم المحلي، وغالبًا لا تراها. الحلّ هو إعادة توجيه المخرجات إلى ملف سجلّ صريح بإضافة شيء مثل >> /var/log/mytask.log 2>&1 في نهاية السطر، بحيث تُكتب المخرجات العادية والأخطاء معًا في ملف واحد يمكنك مراجعته لاحقًا لمعرفة ما حدث في كل تشغيل. هذا السجلّ هو أول مكان تنظر فيه حين تفشل مهمّة.

إضافةً إلى سجلّك الخاص، يحتفظ النظام نفسه بأثر لتشغيل مهامّ cron في سجلّات النظام، وغالبًا تجدها ضمن /var/log/syslog أو عبر أداة journalctl في التوزيعات الحديثة. مراجعة هذه السجلّات تؤكّد لك أنّ الـ daemon التقط مهمّتك وحاول تشغيلها فعلًا، وهي خطوة تشخيصية سريعة تفصل بين مشكلة في الجدولة ومشكلة داخل السكربت ذاته.

أخطاء شائعة في جدولة cron وكيف تتجنّبها

معظم مشاكل cron ليست في الصيغة الزمنية بل في البيئة التي تعمل فيها المهمّة. المهمّة التي تعمل يدويًا قد تفشل داخل cron لأنّ بيئة التشغيل مختلفة ومحدودة. انتبه لهذه الأخطاء المتكرّرة.

  • المسارات النسبية: يعمل cron من مجلد المنزل ببيئة مبسّطة، لذا استخدم دائمًا المسارات المطلقة للأوامر والملفات والسكربتات بدل المسارات المختصرة.
  • متغيّر PATH المحدود: متغيّر البيئة PATH داخل cron أضيق منه في جلستك، فإمّا أن تحدّده في أعلى crontab أو تستدعي البرامج بمسارها الكامل.
  • نسيان إعادة التوجيه: دون توجيه المخرجات إلى ملف سجلّ تضيع رسائل الخطأ وتصبح المهمّة تفشل بصمت دون أثر ظاهر.
  • صلاحيات غير كافية: تأكّد أنّ السكربت قابل للتنفيذ وأنّ المستخدم صاحب الجدول يملك صلاحية الوصول إلى الملفات المطلوبة.
  • تجاهل المنطقة الزمنية: يعتمد cron على توقيت الخادوم، فتحقّق منه حتى لا تعمل مهامّك في ساعة غير التي تقصدها.

اختبر دائمًا السكربت يدويًا أولًا، ثم جدوله على فترة قصيرة لمراقبة سلوكه، وبعد أن تطمئنّ عدّل الوقت إلى الجدول النهائي. هذا المسار البسيط يوفّر عليك ساعات من البحث عن سبب مهمّة لا تعمل.

الخلاصة

جدولة المهام بـ Cron تحوّل خادومك من آلة تنتظر أوامرك إلى نظام يدير نفسه: ينسخ ويحدّث وينظّف ويراقب في المواعيد التي حدّدتها، ليل نهار، دون تدخّل. المفاتيح الثلاثة هي فهم الحقول الخمسة للوقت، واستخدام المسارات المطلقة، وتسجيل المخرجات في ملف سجلّ لتعرف ما يجري. وللتعمّق في خلفية الأداة وتاريخها راجع تعريف Cron على ويكيبيديا العربية.

  1. اتّصل بخادومك ونفّذ crontab -l لمعرفة المهامّ الموجودة حاليًا.
  2. أنشئ سكربتًا واحدًا واضحًا لمهمّة متكرّرة تؤدّيها يدويًا الآن، مثل النسخ الاحتياطي.
  3. جدوِله عبر crontab -e بتعبير مناسب مثل 0 3 * * * مع مسار مطلق.
  4. أضِف إعادة توجيه المخرجات إلى ملف سجلّ لمتابعة كل تشغيل.
  5. راقب السجلّ بعد أول تنفيذ وعدّل الوقت أو الصلاحيات عند الحاجة.

جاهز لتشغيل مهامّك المجدولة على VPS بريطاني؟

خطط UK Speed للـ VPS على معالجات AMD EPYC وأقراص NVMe في مركز بيانات بريطاني، بصلاحيات root كاملة لجدولة مهامّك بحرية، وتشغيل مستمرّ 24/7 ودعم عربي 24/7 ودفع بشام كاش/USDT — بيئة موثوقة تعمل مهامّك فيها في موعدها دائمًا.

Share this article:
↑
1
Powered by Joinchat