يُعتبر ضمان تشغيل خدمة cron تلقائيًا بعد إعادة تشغيل نظام أوبونتو أمرًا بالغ الأهمية للمهام المجدولة. سيوضح لك هذا الدليل عدة طرق فعالة لتحقيق ذلك، مما يضمن تشغيل عملياتك الآلية بسلاسة.
أهمية التشغيل التلقائي لـ Cron
Cron هو مُجدول مهام يستند إلى الوقت في أنظمة التشغيل الشبيهة بيونكس. يسمح للمستخدمين بجدولة الأوامر أو البرامج النصية للتشغيل تلقائيًا في أوقات أو تواريخ أو فترات محددة. هذا ضروري لمهام مُتنوعة، مثل صيانة النظام، والنسخ الاحتياطي، وإنشاء التقارير. بدون تكوين cron للتشغيل التلقائي، لن تُستأنف هذه المهام بعد إعادة تشغيل النظام، مما قد يُعطل سير العمل ويُسبب فقدان البيانات.
طرق تشغيل خدمة Cron تلقائيًا بعد إعادة تشغيل أوبونتو
هناك عدة طرق لتكوين cron للبدء تلقائيًا بعد إعادة التشغيل في أوبونتو. إليك تفصيل للطرق الأكثر شيوعًا وفعالية:
استخدام systemd
(مستحسن)
systemd
هو نظام init الافتراضي لمعظم توزيعات لينكس الحديثة، بما في ذلك أوبونتو. يوفر طريقة قوية وموثوقة لإدارة الخدمات.
- تحقق من حالة Cron: تحقق مما إذا كان cron قيد التشغيل بالفعل:
systemctl status cron
. - تمكين Cron عند بدء التشغيل: استخدم الأمر التالي لتمكين cron للبدء تلقائيًا عند بدء التشغيل:
sudo systemctl enable cron
. - بدء تشغيل خدمة Cron: إذا لم يكن cron قيد التشغيل بالفعل، فقم بتشغيله باستخدام:
sudo systemctl start cron
. - تحقق من تكوين التشغيل التلقائي: تأكد من ضبط cron على التشغيل التلقائي بعد إعادة التشغيل باستخدام:
systemctl is-enabled cron
. يجب أن يكون الناتج “enabled”.
استخدام update-rc.d
(للأنظمة القديمة)
بينما systemd
هي الطريقة المُفضلة، قد لا تزال أنظمة أوبونتو القديمة تستخدم update-rc.d
.
- تحقق من حالة Cron: تأكد من تثبيت cron وتشغيله باستخدام:
/etc/init.d/cron status
. - تمكين Cron عند بدء التشغيل: استخدم هذا الأمر لتكوين cron للتشغيل التلقائي:
sudo update-rc.d cron defaults
. - تحقق من التكوين: تحقق من إنشاء الارتباطات الرمزية بشكل صحيح في دلائل
/etc/rc*.d
.
التكوين اليدوي (للمستخدمين المتقدمين)
للحصول على مزيد من التحكم التفصيلي، يمكنك إضافة برنامج نصي لبدء التشغيل يدويًا.
-
إنشاء برنامج نصي لبدء التشغيل: أنشئ ملفًا باسم
/etc/init.d/mycron
بالمحتوى التالي:#!/bin/bash # /etc/init.d/mycron case "$1" in start) /usr/sbin/cron -f & ;; stop) pkill cron ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0
-
اجعل البرنامج النصي قابلاً للتنفيذ:
sudo chmod +x /etc/init.d/mycron
. -
إضافة إلى تسلسل بدء التشغيل:
sudo update-rc.d mycron defaults
.
إنشاء برنامج نصي مخصص لبدء تشغيل Cron على أوبونتو
استكشاف أخطاء تشغيل Cron التلقائي وإصلاحها
إذا لم يبدأ cron تلقائيًا بعد إعادة التشغيل، فإليك بعض خطوات استكشاف الأخطاء وإصلاحها:
- التحقق من السجلات: افحص سجلات النظام، خاصةً
/var/log/syslog
أو/var/log/messages
، بحثًا عن أي أخطاء متعلقة بـ cron. - التحقق من تكوين Cron: تأكد من تنسيق ملف تكوين cron (
/etc/crontab
أو ملفات crontab الخاصة بالمستخدم في/var/spool/cron/crontabs/
) بشكل صحيح. - مشاكل الأذونات: تحقق من أذونات الملفات للملفات والدلائل المتعلقة بـ cron.
- الخدمات المتعارضة: تأكد من عدم وجود خدمات أخرى تتعارض مع cron.
الخلاصة
يُعد تشغيل خدمة cron تلقائيًا بعد إعادة التشغيل على أوبونتو أمرًا بالغ الأهمية للحفاظ على المهام الآلية. سواء اخترت نهج systemd
المُوصى به أو طريقة update-rc.d
القديمة، فإن ضمان وجود هذا التكوين سيمنع الانقطاعات ويضمن التشغيل السلس لمهامك المجدولة. تُساهم مهام cron المُكوّنة بشكل صحيح بشكل كبير في استقرار النظام وكفاءته.
الأسئلة الشائعة
- ما هو استخدام cron؟ Cron هو مُجدول مهام يستند إلى الوقت يُستخدم لأتمتة المهام في أنظمة التشغيل الشبيهة بيونكس.
- لماذا لا تعمل مهمة cron الخاصة بي بعد إعادة التشغيل؟ قد لا يكون cron مُكوّنًا للتشغيل التلقائي، أو قد تكون هناك أخطاء في تكوين cron أو البرنامج النصي.
- كيف أتحقق مما إذا كان cron قيد التشغيل؟ استخدم
systemctl status cron
أو/etc/init.d/cron status
. - ما هو systemd؟ Systemd هو نظام init الافتراضي في معظم توزيعات لينكس الحديثة، وهو مسؤول عن إدارة خدمات النظام.
- ما هو update-rc.d؟
update-rc.d
هي أداة سطر أوامر تُستخدم لإدارة برامج نصية بدء تشغيل النظام، خاصةً في أنظمة أوبونتو القديمة. - ماذا أفعل إذا لم يبدأ cron تلقائيًا بعد؟ تحقق من سجلات النظام بحثًا عن الأخطاء وتحقق من تكوينات cron وأذوناته.
- أين يمكنني العثور على مزيد من المعلومات حول cron؟ يوفر الأمر
man cron
وثائق مُفصلة.
تحتاج إلى مزيد من المساعدة؟ تواصل معنا عبر واتساب: +1(641)206-8880، البريد الإلكتروني: [email protected] أو قم بزيارتنا على العنوان 321 Birch Drive, Seattle, WA 98101, USA. فريق دعم العملاء لدينا متاح على مدار الساعة طوال أيام الأسبوع لمساعدتك.