کنترل پنل سی پنل

ایجاد کرون‌جاب در سی‌پنل؛ زمان‌بندی خودکار کارهای سایت

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

رایکت رایکت ۴ دقیقه مطالعه
ایجاد کرون‌جاب در سی‌پنل؛ زمان‌بندی خودکار کارهای سایت

کرون‌جاب یعنی «این دستور را سر ساعت مشخص اجرا کن». خیلی از کارهای سایت به همین وابسته است: انتشار زمان‌بندی‌شده مطالب وردپرس، ارسال ایمیل‌های دوره‌ای، گرفتن بکاپ خودکار و پاک‌سازی فایل‌های موقت. در سی‌پنل ساختن کرون‌جاب چند دقیقه بیشتر طول نمی‌کشد.

ساخت کرون‌جاب

  1. وارد سی‌پنل شوید و در بخش Advanced روی Cron Jobs کلیک کنید.
  2. در قسمت Common Settings یکی از بازه‌های آماده را انتخاب کنید یا زمان را دستی بنویسید.
  3. دستور موردنظر را در فیلد Command وارد کنید.
  4. روی Add New Cron Job بزنید.
صفحه Cron Jobs در سی‌پنل برای زمان‌بندی اجرای دستورها
Cron Jobs: تعیین بازه زمانی و دستور اجرایی

زمان‌بندی را چطور بنویسیم

هر کرون‌جاب پنج فیلد زمانی دارد: دقیقه، ساعت، روز ماه، ماه و روز هفته.

بازه مقدار
هر ۵ دقیقه */5 * * * *
هر ساعت، دقیقه صفر 0 * * * *
هر روز ساعت ۳ بامداد 0 3 * * *
هر دوشنبه ساعت ۶ 0 6 * * 1
اول هر ماه 0 0 1 * *

نمونه دستورهای پرکاربرد

اجرای یک فایل PHP

/usr/local/bin/php /home/user/public_html/script.php

به‌جای user نام کاربری هاست خودتان را بگذارید. مسیر دقیق فایل را از مدیریت فایل سی‌پنل بردارید.

فراخوانی یک آدرس اینترنتی

wget -q -O /dev/null https://yourdomain.ir/cron.php

این حالت وقتی به کار می‌آید که اسکریپت شما باید از طریق وب اجرا شود، مثل کرون وردپرس یا برخی افزونه‌ها.

اجرای کرون وردپرس به‌جای کرون داخلی

اگر سایت وردپرسی پربازدید دارید، بهتر است کرون داخلی وردپرس را غیرفعال و به‌جایش یک کرون واقعی روی wp-cron.php تنظیم کنید؛ این کار بار اضافه هر بازدید را برمی‌دارد.

ایمیل گزارش کرون

در بالای همان صفحه فیلدی برای ایمیل هست. خروجی هر اجرا به این آدرس فرستاده می‌شود. اگر کرون هر دقیقه اجرا می‌شود، صندوقتان پر می‌شود؛ برای جلوگیری، انتهای دستور >/dev/null 2>&1 را اضافه کنید.

کرون وردپرس؛ چرا و چطور جایگزینش کنیم

وردپرس یک کرون داخلی دارد که فقط وقتی کسی از سایت بازدید می‌کند اجرا می‌شود. نتیجه این است که در سایت کم‌بازدید، کارهای زمان‌بندی‌شده دیر انجام می‌شوند و در سایت پربازدید، هر بازدید کمی بار اضافه می‌آورد. راه‌حل، خاموش کردن کرون داخلی و استفاده از کرون واقعی سرور است.

  1. در فایل wp-config.php این خط را اضافه کنید:
    define('DISABLE_WP_CRON', true);
  2. در سی‌پنل یک کرون‌جاب با بازه هر ۱۵ دقیقه بسازید و این دستور را بگذارید:
    wget -q -O /dev/null "https://yourdomain.ir/wp-cron.php?doing_wp_cron"

حالا کارهای زمان‌بندی‌شده (انتشار زمان‌دار، بکاپ خودکار، ایمیل‌های دوره‌ای) مستقل از بازدید انجام می‌شوند.

نمونه دستورهای کاربردی

کار دستور
اجرای فایل PHP با نسخه خاص /usr/local/bin/ea-php81 /home/user/public_html/task.php
فراخوانی یک آدرس بدون ذخیره خروجی curl -s https://yourdomain.ir/cron.php > /dev/null
پاک کردن فایل‌های موقت قدیمی‌تر از ۷ روز find /home/user/tmp -type f -mtime +7 -delete
گرفتن خروجی دیتابیس mysqldump -u user -p'pass' dbname > /home/user/backup/db.sql

در دستورهایی که رمز دارند، دقت کنید خروجی کرون به ایمیل فرستاده نشود. انتهای دستور >/dev/null 2>&1 بگذارید و سطح دسترسی فایل خروجی را محدود کنید.

لاگ گرفتن از اجرای کرون

برای اینکه بدانید کرون واقعاً اجرا شده و چه خروجی داشته، خروجی را در فایل بریزید:

/usr/local/bin/php /home/user/public_html/task.php >> /home/user/cron.log 2>&1

فایل cron.log را هر چند وقت بررسی و خالی کنید تا حجیم نشود.

خطاهای رایج و علتشان

نشانه علت محتمل
هیچ اتفاقی نمی‌افتد مسیر فایل اشتباه است یا فایل اجرا نمی‌شود
خطای Permission denied سطح دسترسی فایل یا پوشه
خروجی خطای PHP نسخه PHP دستور با نسخه سایت فرق دارد
صندوق ایمیل پر از پیام کرون خروجی به /dev/null هدایت نشده است
اجرا با تأخیر بازه خیلی کوتاه انتخاب شده و سرور محدودش کرده

چند توصیه عملی

  • بازه‌های کمتر از ۵ دقیقه را روی هاست اشتراکی انتخاب نکنید.
  • کارهای سنگین (مثل بکاپ) را در ساعات کم‌بازدید بامداد زمان‌بندی کنید.
  • برای هر کار یک کرون جدا بسازید تا اگر یکی خطا داد، بقیه اجرا شوند.
  • بعد از ساخت، یک بار دستور را دستی اجرا کنید تا از درستی‌اش مطمئن شوید.

چرا کرون‌جاب اجرا نمی‌شود

  • مسیر اشتباه: مسیر فایل را کامل و از ریشه بنویسید، نه نسبی.
  • نسخه PHP: اگر اسکریپت به نسخه خاصی نیاز دارد، مسیر همان نسخه را در دستور بگذارید. برای تغییر نسخه، آموزش تغییر نسخه PHP را ببینید.
  • دسترسی فایل: فایل باید سطح دسترسی مناسب داشته باشد.
  • بازه خیلی کوتاه: در هاست‌های اشتراکی بازه‌های کمتر از ۵ دقیقه معمولاً محدود می‌شوند تا منابع سرور برای همه بماند.

جمع‌بندی

با یک کرون‌جاب درست، کارهای تکراری سایت خودکار انجام می‌شود و لازم نیست به یاد داشته باشید. اگر در نوشتن دستور مطمئن نیستید، مسیر فایل و بازه دلخواهتان را برای پشتیبانی رایکت بفرستید تا دستور را برایتان بنویسند. امکان کرون‌جاب روی همه هاست‌های لینوکس رایکت فعال است.

بیشتر بخوانید: اتوماسیون کارهای سایت با هوش مصنوعی و کرون‌جاب.

بیشتر بخوانید: خطای «زمان‌بندی از دست رفت» و تنظیم WP-Cron با کرون واقعی.

این مطلب برایتان مفید بود؟
رایکت
نوشته شده توسط رایکت

تیم محتوای رایکت؛ آموزش‌ها و راهنماهای کاربردی هاست، دامنه و مدیریت سایت.

مطالب مرتبط

دیدگاه‌ها

نظر یا سوال خود را درباره این مطلب با ما در میان بگذارید
aapanel
cloudlinux
cpanel
directadmin
jetbackup
laravel
mysql
virtualizor
vmware
wordpress