Cron Job هو أداة جدولة المهام الأساسية في أنظمة Linux وUnix تسمح لك بتنفيذ أوامر أو سكربتات تلقائياً في أوقات محددة بدون تدخل يدوي. سواء كنت تدير سيرفر VPS أو استضافة مشتركة ستحتاج Cron Job لأتمتة المهام المتكررة مثل النسخ الاحتياطي وتحديث قاعدة البيانات وإرسال التقارير وتنظيف الملفات المؤقتة.
محتويات المقال
⏰
Cron Job: دليلك لأتمتة مهام السيرفر بالكامل
تعلّم كيف تجعل سيرفرك يعمل على مدار الساعة بدون تدخلك
ما هو Cron Job وكيف يعمل؟
Cron هو خدمة (daemon) تعمل في الخلفية على نظام Linux وتفحص جدول المهام المُعدّ (crontab) كل دقيقة. عندما يحين وقت تنفيذ مهمة يُشغّلها تلقائياً. الاسم مشتق من كلمة “Chronos” اليونانية التي تعني الزمن.
كل مستخدم على النظام يمتلك جدول crontab خاص به بالإضافة إلى جدول النظام العام في /etc/crontab. المهام تُكتب بصيغة محددة تُحدد متى يتم التنفيذ:
صيغة Cron Job (الجدول الزمني)
# صيغة Cron Job:
# ┌───────────── دقيقة (0 - 59)
# │ ┌───────────── ساعة (0 - 23)
# │ │ ┌───────────── يوم من الشهر (1 - 31)
# │ │ │ ┌───────────── شهر (1 - 12)
# │ │ │ │ ┌───────────── يوم من الأسبوع (0 - 7) (0 و 7 = الأحد)
# │ │ │ │ │
# * * * * * الأمر المطلوب تنفيذه
# أمثلة عملية:
# كل دقيقة
* * * * * /path/to/script.sh
# كل 5 دقائق
*/5 * * * * /path/to/script.sh
# كل ساعة (عند الدقيقة 0)
0 * * * * /path/to/script.sh
# يومياً الساعة 3 فجراً
0 3 * * * /path/to/backup.sh
# أسبوعياً (كل يوم أحد الساعة 2 فجراً)
0 2 * * 0 /path/to/weekly-report.sh
# شهرياً (أول يوم من كل شهر)
0 0 1 * * /path/to/monthly-cleanup.sh
# كل يوم عمل (الاثنين للجمعة) الساعة 9 صباحاً
0 9 * * 1-5 /path/to/workday-task.shإدارة Cron Jobs عبر سطر الأوامر
# عرض مهام cron الحالية
crontab -l
# تعديل جدول cron
crontab -e
# حذف جميع مهام cron
crontab -r
# عرض مهام cron لمستخدم محدد (بصلاحيات root)
crontab -u username -l
# عرض مهام النظام
cat /etc/crontab
ls /etc/cron.d/
ls /etc/cron.daily/
ls /etc/cron.weekly/أمثلة عملية لاستخدام Cron Job في إدارة السيرفرات
1. نسخ احتياطي يومي تلقائي
# نسخ احتياطي يومي الساعة 3 فجراً
0 3 * * * tar -czf /backup/site-$(date +%Y%m%d).tar.gz /var/www/html/ 2>>/var/log/backup.log
# نسخ قاعدة البيانات يومياً الساعة 3:30
30 3 * * * mysqldump -u root -pPASSWORD dbname | gzip > /backup/db-$(date +%Y%m%d).sql.gz
# حذف النسخ الأقدم من 30 يوم
0 4 * * * find /backup -type f -mtime +30 -delete2. مراقبة صحة الموقع
# فحص الموقع كل 5 دقائق وإرسال تنبيه إذا توقف
*/5 * * * * curl -sL -w "%{http_code}" "https://example.com" -o /dev/null | grep -q "200" || echo "الموقع متوقف!" | mail -s "تنبيه: الموقع لا يعمل" [email protected]
# مراقبة استهلاك القرص
0 8 * * * df -h | mail -s "تقرير المساحة اليومي" [email protected]3. تحديث النظام تلقائياً
# تحديثات أمنية أسبوعية (كل أحد الساعة 2 فجراً)
0 2 * * 0 apt update && apt upgrade -y >> /var/log/auto-update.log 2>&1
# تجديد شهادة SSL تلقائياً
0 0 1 * * certbot renew --quiet --post-hook "systemctl reload nginx"4. Cron Job في ووردبريس
ووردبريس عنده نظام WP-Cron خاص لكنه يعتمد على زيارات الموقع لتنفيذ المهام. إذا لم يزر أحد الموقع لن تُنفَّذ المهام. الحل الأفضل هو تعطيل WP-Cron واستخدام cron حقيقي:
# في wp-config.php أضف:
define("DISABLE_WP_CRON", true);
# ثم أضف cron job حقيقي (كل 5 دقائق)
*/5 * * * * cd /var/www/html && php wp-cron.php >> /dev/null 2>&1
# أو باستخدام WP-CLI
*/5 * * * * wp cron event run --due-now --path=/var/www/html >> /dev/null 2>&1نصائح مهمة عند استخدام Cron Job
- استخدم المسارات الكاملة: Cron لا يحمّل متغيرات البيئة تلقائياً فاستخدم
/usr/bin/phpبدلاً منphp - وجّه المخرجات: أضف
>>/var/log/cron.log 2>&1في نهاية كل أمر لتسجيل النتائج والأخطاء - اختبر الأوامر يدوياً أولاً: قبل جدولة أي أمر نفّذه يدوياً للتأكد من عمله بشكل صحيح
- تجنب تراكب المهام: إذا كانت المهمة تستغرق وقتاً استخدم
flockلمنع التشغيل المتزامن - راقب سجل cron: تابع
/var/log/syslogأو/var/log/cronلاكتشاف المشاكل
في مرام هوست نستخدم Cron Jobs لأتمتة النسخ الاحتياطي والمراقبة والتحديثات على جميع سيرفراتنا لضمان أعلى مستوى من الموثوقية والأمان.
أتمتة كاملة مع مرام هوست
سيرفرات VPS مُدارة مع نسخ احتياطي تلقائي ومراقبة 24/7 ودعم فني متخصص. ابدأ من هنا.
????: ?????? ??????
مقالات ذات صلة بـCron Job
- متى تختار VPS ومتى تحتاج سيرفر خاص؟
- كيف تشغل n8n على VPS خطوة بخطوة (دليل كامل للمبتدئين)
- الفرق بين استضافة Linux واستضافة Windows أيهما تختار ولماذا؟
دليل متقدم حول Cron Job
Cron Job يُعد من أهم الأدوات في إدارة السيرفرات والمواقع الإلكترونية. يتيح لك جدولة المهام التلقائية مثل النسخ الاحتياطي وتحديث قواعد البيانات وإرسال التقارير الدورية وتنظيف الملفات المؤقتة. فهم Cron Job بشكل معمّق يساعدك على أتمتة العمليات الروتينية وتوفير الوقت والجهد.
أفضل الممارسات لاستخدام Cron Job
عند استخدام Cron Job، تأكد من: تحديد التوقيت المناسب لكل مهمة، وتسجيل النتائج في ملفات log للمراجعة، وتجنب تشغيل مهام ثقيلة في أوقات الذروة، واختبار الأوامر يدوياً قبل جدولتها. كما يُنصح بمراجعة قائمة المهام المجدولة بشكل دوري لحذف المهام غير الضرورية.
كيف تستفيد من Cron Job في مرام هوست؟
في مرام هوست، نوفر لوحة تحكم cPanel متكاملة تتيح لك إعداد Cron Job بسهولة تامة دون الحاجة لخبرة تقنية متقدمة. فريق الدعم الفني لدينا متاح على مدار الساعة لمساعدتك في إعداد وتحسين مهام Cron Job الخاصة بموقعك. تواصل معنا اليوم للحصول على استشارة مجانية.
الأسئلة الشائعة حول Cron Job
ما هو Cron Job وكيف يعمل؟
Cron Job هو أداة جدولة مهام في أنظمة Linux/Unix تتيح تشغيل الأوامر والسكربتات تلقائياً في أوقات محددة. يعمل من خلال ملف crontab الذي يحدد المهام وتوقيت تنفيذها.
كيف أنشئ Cron Job في cPanel؟
لإنشاء Cron Job في cPanel، انتقل إلى قسم Cron Jobs في لوحة التحكم، حدد التوقيت المطلوب، وأدخل الأمر المراد تنفيذه. يمكنك أيضاً استخدام الإعدادات الشائعة مثل كل ساعة أو يومياً.
هل Cron Job آمن؟
نعم، Cron Job آمن تماماً عند استخدامه بشكل صحيح. تأكد من تقييد الصلاحيات وعدم تضمين معلومات حساسة في الأوامر المجدولة. في مرام هوست نوفر بيئة آمنة ومحمية لتشغيل مهام Cron Job.