العودة إلى المدونة
مايو 23, 2026الأدلة

كيفية إعداد مهام Cron على خادم Linux

تعلّم صيغة cron وتحرير crontab وأمثلة الجدولة الشائعة وتسجيل المهام الآلية على VPS.

كيفية إعداد مهام Cron على خادم Linux

Cron هو المجدول القياسي في Linux لتشغيل السكربتات والأوامر في أوقات ثابتة — النسخ الاحتياطي، مسح الذاكرة المؤقتة، فحص الشهادات وغيرها. يوضح هذا الدليل الاستخدام على خادم Hiddence.

صيغة cron

كل سطر يحتوي على خمس حقول زمنية ثم الأمر:

bash
# ┌──────── minute (0-59)
# │ ┌────── hour (0-23)
# │ │ ┌──── day of month (1-31)
# │ │ │ ┌── month (1-12)
# │ │ │ │ ┌─ day of week (0-7, 0 and 7 = Sunday)
# │ │ │ │ │
# * * * * * command

# Every day at 3:00 AM:
0 3 * * * /usr/local/bin/backup.sh

# Every 15 minutes:
*/15 * * * * /usr/local/bin/check.sh

تحرير crontab

استخدم crontab -e للمستخدم الحالي. لمهام النظام (معظمها root) استخدم sudo:

bash
# Edit your user crontab
crontab -e

# Edit root crontab
sudo crontab -e

# List current jobs
crontab -l
sudo crontab -l

أمثلة شائعة

  • 0 2 * * * — نسخ احتياطي يومي الساعة 2:00 صباحاً
  • 0 */6 * * * — كل 6 ساعات
  • 0 0 * * 0 — كل أحد عند منتصف الليل
  • */5 * * * * — كل 5 دقائق (استخدم بحذر)
  • @reboot /path/script.sh — مرة بعد إعادة التشغيل
  • @daily /usr/bin/certbot renew --quiet — فحص Certbot يومي

التسجيل واستكشاف الأخطاء

وجّه المخرجات إلى ملف سجل لمعرفة فشل المهمة:

bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1

# View cron execution in system log:
grep CRON /var/log/syslog   # Ubuntu
grep CRON /var/log/cron      # CentOS

نصائح

  • استخدم مسارات مطلقة في أوامر cron
  • اختبر السكربتات يدوياً قبل إضافتها إلى crontab
  • اضبط MAILTO=your@email.com في crontab لرسائل الأخطاء (إن وُجد بريد)
  • فضّل مؤقتات systemd للتبعيات المعقدة على الأنظمة الحديثة
  • لا تشغّل مهام ثقيلة كل دقيقة — قد يُحمّل VPS زائداً