كيف أعرف ما إذا كانت الوظائف كانت/تؤديها؟ - Crontab

StackOverflow https://stackoverflow.com/questions/2367892

  •  24-09-2019
  •  | 
  •  

سؤال

لقد اتبعت الاقتراح في هذا السؤال

بينما أستخدم Django ، قمت بتعيين البرنامج النصي لتخزين تاريخ ووقت كل تشغيل من البرنامج النصي في DB ، ولكن لم يتم تخزين أي إدخال حتى الآن في قاعدة البيانات.


هل هناك طريقة لمعرفة ذلك ، بخلاف كتابة "أعلى" والبحث من خلال؟

هل كانت مفيدة؟

المحلول

أولاً ، ربما أقوم بتكوين cron لإرسال أي مخرجات عن طريق استخدامك عن طريق الاستخدام MAILTO:

في /etc /crontab:

MAILTO=username

ثانياً ، عادةً ما أضيف شيئًا إلى البرنامج النصي (تقريبًا) لا يمكن أن يفشل ، مثل ما يلي:

#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log

# ... rest of program

إذا كنت تتصل برناري بيثون مباشرة من كرون ، فيمكنك القيام بشيء مماثل أو إنشاء برنامج نصي غلاف غلاف.

نصائح أخرى

إذا قمت بتثبيت SendMail ، فيمكنك إضافة ما يلي إلى "/etc/alases"

الجذر: your_name@domain.com

بعد القيام بذلك ، قم بتحديث الأسماء المستعارة التي تقوم بتشغيل هذا الأمر:

sudo newaliases

ستقوم CRON تلقائيًا بالبريد الإلكتروني في كل مرة يتم تشغيل الوظيفة. لا حاجة لتحديد ذلك في ملف crontab.

أيضا ، تأكد من لك اختبار إمكانيات بريدك الإلكتروني (على سبيل المثال ، تأكد من أنك قادر على إرسال رسائل بريد إلكتروني من الخادم) وأخيراً ، قم بإنشاء cronjob تافهة واختبار إذا تلقيت رسالة بريد إلكتروني.

لا تفترض!

بالإضافة إلى إعداد كرون لإرسال بريد إلكتروني ، يمكنك إرسال إخراج cron إلى منشأة سجل syslog منفصلة عن طريق إضافة ما يلي /etc/syslog.conf.

# Log cron stuff 
cron.*                                                  /var/log/cron.log 

يجب أن يسجل هذا رسالة إلى /var/log/cron.log في كل مرة يتم فيها تشغيل وظيفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top