غیرفعال کردن هشدار ایمیلی Cron Job

غیرفعال کردن هشدار ایمیلی Cron Job

غیرفعال کردن هشدار ایمیلی Cron Job

Cron زمان‌بند (Task Scheduler) در لینوکس است که اجرای اسکریپت‌ها را طبق زمان‌بندی مشخص انجام می‌دهد؛ کاربردهای رایج آن شامل چرخش لاگ‌ها (Log Rotation)، بکاپ‌گیری، به‌روزرسانی ایندکس فایل‌ها و اجرای اسکریپت‌های سفارشی است. وقتی یک کران جاب خروجی تولید کند (چه خروجی عادی و چه خطا)، معمولاً همان خروجی برای کاربر محلی/ریشه (root) ایمیل می‌شود. اگر نمی‌خواهید این اعلان‌ها ارسال شوند، یکی از روش‌های زیر را انجام دهید.

روش ۱: قطع ایمیل‌های Cron با ریدایرکت خروجی به /dev/null

برای اینکه بدون توجه به موفق یا ناموفق بودن اجرای کران جاب هیچ خروجی ایمیل نشود،
کافی است انتهای دستور کران جاب یکی از ریدایرکت‌های زیر را اضافه کنید:

>/dev/null 2>&1

یا:

&> /dev/null

توضیح فنی کوتاه:

  • /dev/null مثل «سطل زباله» خروجی است و هرچه به آن ارسال شود دور ریخته می‌شود.
  • >/dev/null خروجی استاندارد (stdout) را دور می‌ریزد.
  • 2>&1 خطاها (stderr) را هم به همان مسیر stdout می‌فرستد تا همه‌چیز دور ریخته شود.
  • &> /dev/null در برخی شِل‌ها (مثل bash) ریدایرکت هم‌زمان stdout و stderr است.

نمونه در cPanel

  1. وارد حساب cPanel شوید و از بخش Advanced روی Cron Jobs کلیک کنید.

مسیر Cron Jobs در cPanel برای تنظیم کران جاب — پارس آپتایم
  1. در صفحه Cron Jobs روی more » بزنید تا فیلد ایمیل اعلان‌ها (Email) نمایش داده شود
    (و در صورت نیاز با less » مخفی‌اش کنید).

تنظیم Cron Email و جلوگیری از ایمیل‌های اعلان کران جاب در cPanel
  1. در فیلد Command دستور را با یکی از ریدایرکت‌های بالا تنظیم کنید؛ مثال:
php /home/user/public_html/cron.php > /dev/null 2>&1

یا:

php /home/user/public_html/cron.php > /dev/null 2>&1

بعد از این کار، با هر اجرای کران جاب، ایمیل اعلان ارسال نمی‌شود.

روش ۲: غیرفعال کردن ایمیل با متغیر MAILTO

راه دیگر این است که فایل کران (crontab) را ویرایش کنید و این خط را بالای فایل قرار دهید:

MAILTO=""

این تنظیم باعث می‌شود اعلان‌های ایمیلی کران جاب ارسال نشوند.

نکته کاربردی برای مدیریت بهتر (اختیاری)

اگر می‌خواهید ایمیل قطع شود اما خروجی را برای عیب‌یابی داشته باشید،
به‌جای /dev/null خروجی را داخل فایل لاگ ذخیره کنید (مثلاً داخل مسیر home کاربر):

php /home/user/public_html/cron.php >> /home/user/cron.log 2>&1

جمع‌بندی

  • سریع‌ترین راه: ریدایرکت خروجی به /dev/null (روش ۱)
  • اگر روی crontab سیستم کنترل دارید: تنظیم MAILTO=”” (روش ۲)

اگر در غیرفعال‌سازی ایمیل‌های Cron Job یا تنظیم درست کران جاب مشکلی داشتید، می‌توانید در پارس آپتایم تیکت ثبت کنید تا تیم فنی راهنمایی کند.

مطالعه این مطالب را هم توصیه میکنیم

خدمات مورد نیاز شما را با کیفیتی که انتظار دارید و قیمتی که انتظار ندارید.

آیا این مطلب برای شما مفید بود؟
پارس آپتایم | ارائه‌دهنده VPS و میزبانی وب