سؤال أين يوجد سجل cron / crontab؟


أريد التحقق من أن مهمتي كرون تنفذ وفي أي وقت. أعتقد أن هناك سجل لبلدي sudo crontab -e وظائف ، ولكن أين؟

لقد بحثت في google ووجدت توصيات للبحث فيها /var/log (التي لا أرى فيها أي شيء مع "cron" في الاسم) ولتحرير الملف /etc/syslog.conf التي ليس لديها أيضا.


613
2017-08-11 12:06


الأصل




الأجوبة:


في عملية التثبيت الافتراضية ، يتم تسجيل مهام cron

/var/log/syslog

يمكنك مشاهدة وظائف cron فقط في ملف السجل هذا عن طريق التشغيل

 grep CRON /var/log/syslog

إذا لم تقم بإعادة تكوين أي شيء ، فستكون هناك الإدخالات.


722
2017-08-12 10:58



إذا لم يتم تثبيت MTA ، فسيقوم cron بإلقاء الإخراج الوظيفي بعيدًا. - Barry Kelly
قد يكون سجل cron في ملف آخر في /var/log/ دليل. تحقق من cron.log أو ما يعادلها. - Navigatron
هذا لا يعطيني الإخراج من العمل. يعطي فقط رسالة عامة أن تم معالجة cron. - chovy
على AWS كان / var / log / cron - tsukimi
shadi يمكنك أيضًا grep -i CRON للبحث غير متحسس لحالة الأحرف - nafg


يمكنك إنشاء ملف cron.log ليحتوي فقط على إدخالات CRON التي تظهر في syslog. لاحظ أن وظائف CRON ستظل تظهر في سجل النظام إذا اتبعت التوجيهات التالية.

افتح الملف

/etc/rsyslog.d/50-default.conf

ابحث عن السطر الذي يبدأ بـ:

#cron.*

uncomment ذلك السطر ، احفظ الملف ، وأعد rsyslog:

sudo service rsyslog restart

يجب أن تشاهد الآن ملف سجل cron هنا:

/var/log/cron.log

سيتم الآن تسجيل نشاط Cron إلى هذا الملف (بالإضافة إلى syslog).

لاحظ أنه في cron.log سترى إدخالات عند تشغيل البرامج النصية cron في /etc/cron.hourly و cron.daily وما إلى ذلك - على سبيل المثال ، شيء مثل:

Apr 12 14:17:01 cd CRON[14368]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

ومع ذلك ، لن ترى المزيد من المعلومات حول البرامج النصية التي تم تشغيلها بالفعل داخل /etc/cron.daily أو /etc/cron.hourly ، ما لم تكن هذه البرامج النصية موجهة مباشرة إلى cron.log (أو ربما إلى ملف سجل آخر).

إذا كنت تريد التحقق مما إذا كان crontab قيد التشغيل وألا تضطر إلى البحث عنه في cron.log أو syslog ، فقم بإنشاء crontab يعيد توجيه الإخراج إلى ملف سجل من اختيارك - شيء مثل:

01 14 * * * /home/joe/myscript >> /home/log/myscript.log 2>&1

سيؤدي ذلك إلى إعادة توجيه كل الإخراج القياسي والأخطاء التي قد يتم إنتاجها بواسطة البرنامج النصي الذي يتم تشغيله إلى ملف السجل المحدد.


197
2018-04-13 01:36



مع رأيي ، هذه الإجابة أفضل في المستقبل. لذا فإن ملف syslog الخاص بك أكثر وضوحًا. - shgnInc
لاستبعاد سجل cron من سجل النظام ، يمكنك تغيير الخط *.*;auth,authpriv.none -/var/log/syslog إلى *.*;auth,authpriv.none,cron.none -/var/log/syslog. - Koen.
على موقعنا CentOS 6 ، cron. * المعرّف في /etc/rsyslog.conf ، بينما أنا فارغ في مجلد rsyslog.d. - Scott Chu
ما هو 2>&1 الوقوف ؟ - John Joe
يستخدمJohnJoe 2> & 1 لتوجيه stderr إلى stdout ، بهذه الطريقة سوف تحصل أيضا على stderr لتسجيل الملف. - Sampo Sarrala


قد يكون من المفيد أحيانًا مراقبته باستمرار ، في هذه الحالة:

tail -f /var/log/syslog | grep CRON

67
2018-05-14 07:34



حسنا ، ربما تريد استخدامها -F، والتي ستتبع الملف عبر تغييرات الاسم ، بحيث عندما يتم اقتطاعها / نقلها ، على سبيل المثال ، /var/log/syslog.1.gz، أنت لا تزال تتبع التيار /var/log/syslog ملف. في مستندات الرجل ، هذا هو نفس الركض tail xxxx -f --retry - Momer


يمكنك أيضا توجيه إخراج cronjobs الفردية إلى سجلات خاصة بهم من أجل قراءة أفضل ، سوف تحتاج فقط إلى إلحاق إخراج التاريخ في مكان ما.

 0 15 * * *    /home/andrew/daily-backup.sh >> /var/log/daily-backup.log 2>&1

24
2018-04-01 15:26



صحيح ، ولكن إذا فشل هذا السطر في العمل بسبب خطأ في بناء الجملة ، فلن تتم كتابة أي شيء في سجل المخرجات المحدد. - Raptor
يمكنك حل هذه المشكلة عن طريق إلحاق 2> & 1 بعد تحديد ملف السجل. ومن أفضل الممارسات أيضًا اختبار cronjobs الخاص بك قبل إضافتها إلى crontab ، ومن ثم تقديمها لأول تشغيل مجدول للتأكد من تنسيق crontab بشكل صحيح. - Andrew Meyer


هذا سؤال قديم للغاية ، لكن أيا من هذه الإجابات يبدو مرضيا.

قم أولاً بتشغيل مهمة cron الخاصة بك كل دقيقة ، ثم قم بتشغيل cron على أنها غير خفي (مؤقتًا ، قم فقط بقتل أي crond قد يكون قد بدأ بالفعل) مع تسجيل الاختبار:

crond -nx test

وشاهد سجل تنفيذ برنامجك يتدفق عبر الجهاز الخاص بك.


7
2018-06-17 17:42



لا يعمل على 14.04 - No command 'crond' found, did you mean: Command 'cron' from package 'cron' (main) - G-.


انها بالداخل /var/log/syslog بشكل افتراضي.

ولكن يمكن إعداده لإنشاء cron.log منفصلة ، وهو أكثر فائدة.

هذا سؤال وجواب يصف العملية:

16.04: كيف يمكنني إنشاء cron إنشاء cron.log ومراقبته في الوقت الحقيقي؟

أيضا في هذا الجواب هو تعليمات لإنشاء wcron الأمر الذي يعرضه هو في الوقت الحقيقي تقريبا. بالإضافة إلى ذلك ، فإنه يرتبط بإجابة أخرى ،

كيفية تغيير مستوى سجل cron؟

يوضح ذلك كيفية تغيير مستوى السجل ليشمل أكثر من مجرد بداية الوظائف - سيعرض المستوى 15 الأخطاء ووقت الانتهاء أيضًا.


5
2017-10-22 06:40





يمكنك إعادة توجيه إخراج cron إلى ملف tmp

مثل: 00 11 07 * * / bin / bash /home/ubuntu/command.sh> / tmp / output 2> & 1

خطأ والمخرجات العادية ، سيتم إعادة توجيه كلاهما إلى نفس الملف


1
2018-05-07 11:27