ما هي الخيارات المتاحة للحصول على نتائج كرون وكيفية إعدادها؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

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

هل هناك طرق أخرى للحصول على نتائج الأطروحات (على سبيل المثال، إرسالها عبر البريد الإلكتروني إلى مجموعة من الأشخاص، أو تخزينها في مكان ما، وما إلى ذلك)؟

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

المحلول

يمكنك تغيير اتجاه الملف إما إلى الأمر الموضح أو الأمر الفعلي في crontab لكل من stdout وstderr - مثل command > /tmp/log.txt 2>&1 .

إذا كنت تريد أن يتلقى العديد من المستخدمين هذا السجل، فيمكنك إدراج ملف MAILTO=nameofmailinglist في الجزء العلوي من ملف cron الخاص بك.

نصائح أخرى

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

MAILTO="user@example.com"

إلى crontab قبل الأمر

يشبه سطر cron أي سطر أوامر يونكس آخر، لذا يمكنك إعادة توجيه الإخراج إلى برنامج آخر.أي.

* * * * * /path/my/command > /my/email/script 2&>1

قد تكون هذه إضافة غير ضرورية، ولكن لتأهيل أوامر إعادة التوجيه:

> يعيد توجيه الإخراج القياسي

2 هو مصطلح خاص بـ Bourne Shell ويعني خطأ قياسي

1 هو مصطلح محدد لقذيفة بورن ويعني الإخراج القياسي

2>&1 يعني إعادة توجيه الخطأ القياسي إلى الإخراج القياسي

راجع أيضًا المقالة المفيدة التالية إعادة توجيه المدخلات والمخرجات القياسية

بقدر ما أرى، لديك ثلاثة خيارات:

  1. إعادة توجيه الإخراج:إما إلى ملف، أو إلى برنامج يرسل النتائج بالبريد الإلكتروني كما تريدها
  2. استخدم MAILTO في cron، وأعد توجيه البريد الإلكتروني إلى أي عنوان منفرد آخر لجميع وظائف cron الخاصة بك.
  3. قم بإعادة التوجيه في خادم البريد أو العميل الخاص بك، بعد أن يرسله cron.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top