Cron Job چیست؟ Cron نرم افزاری در سیستم عامل لینوکس برای برنامه ریزی کارهای مبتنی بر زمان است. به عنوان مثال بواسطه ی Cron Job می توانید ایمیلها را بررسی کنید، پشتیبانگیری ایجاد کنید، بهروزرسانیها را بررسی کنید، گزارشهای خطا را به ارائهدهندگان شخص ثالث ارسال کنید و غیره.
آنچه در این مقاله خواهید خواند
- Cron Job چیست؟
- چگونه می توانم cron job را تحت لینوکس یا یونیکس مانند سیستم عامل اضافه کنم؟
- دستور crontab برای cron jobs
- چرا وردپرس به کرون جابز نیاز دارد؟
- چه مشکلی در مورد کرون وردپرس داخلی وجود دارد؟
- چگونه Cron Jobs خارجی را در وردپرس راه اندازی کنیم؟
- آموزش کرون جاب سی پنل
- راه اندازی وردپرس easycron با استفاده از سی پنل
- نحوه راه اندازی Cron Job
- نتیجه
Cron Job چیست؟
کرون جابز یا “Cron Job” یک فرآیند در سیستم عامل لینوکس است که به کاربران اجازه می دهد برنامه ها یا اسکریپت هایی را در زمان های مشخص و به صورت دوره ای اجرا کنند. این فرآیند از طریق یک جدول زمانی به نام “Cron Table” کنترل می شود که در آن زمان هایی که برنامه ها باید اجرا شوند و اطلاعات مربوط به فرآیند اجرای برنامه ها (مانند مسیر برنامه، پارامترهای اجرا و غیره) مشخص می شود.
با استفاده از Cron Job می توانید برنامه های خود را به صورت دوره ای و بدون نیاز به دخالت دستی اجرا کنید. بطور مثال، می توانید یک Cron Job برای اجرای یک اسکریپت پشتیبان گیری از داده ها هر شب راس ساعت 12 تنظیم کنید یا یک Cron Job برای اجرای یک برنامه پایتون در هر روز هفته در ساعت 10 صبح روز دوشنبه ایجاد کنید.
چگونه می توانم cron job را تحت لینوکس یا یونیکس مانند سیستم عامل اضافه کنم؟
Cron به کاربران لینوکس و یونیکس اجازه می دهد تا دستورات یا اسکریپت ها را در تاریخ و زمان معین اجرا کنند. می توانید اسکریپت ها را برای اجرای دوره ای برنامه ریزی کنید. Cron یکی از مفیدترین ابزارها در سیستم عامل های لینوکس یا یونیکس است.
معمولاً برای کارهای sysadmin مانند پشتیبان گیری یا تمیز کردن دایرکتوری های /tmp/ و موارد دیگر استفاده می شود. سرویس cron (daemon) در پسزمینه اجرا میشود و دائماً فایل /etc/crontab و فهرستهای /etc/cron.*/ را بررسی میکند. همچنین دایرکتوری /var/spool/cron/ را بررسی می کند.
دستور crontab برای cron jobs
شما باید از دستور crontab برای ویرایش/ایجاد، نصب، حذف نصب یا فهرست کردن کارهای cron در Vixie Cron استفاده کنید. هر کاربر میتواند فایل crontab خود را داشته باشد، و اگرچه این فایلها در /var/spool/cron/crontabs هستند، اما قرار نیست مستقیماً ویرایش شوند. شما باید از دستور crontab برای ویرایش یا تنظیم کارهای cron خود استفاده کنید.
Cron توسط «crontab» (جدول cron) اجرا میشود، فایلی است با تنظیمات مربوط به کارهایی که باید اجرا شوند. در زیر مثالی از یک کار در فایل crontab آورده شده است:
00 11 * * * /home/backups/scripts/log_backup.sh
این به سیستم عامل میگوید که «log_backup.sh» را هر روز ساعت 11:00 اجرا کند. در اینجا نحوه کار با جزئیات است:
# ┌───────────── دقیقه (0 – 59)
# │ ┌───────────── ساعت (0 – 23)
# │ │ ┌───────────── روز ماه (1 – 31)
# │ │ │ ┌───────────── ماه (1 – 12)
# │ │ │ │ ┌───────────── روز هفته (0 – 6) (یکشنبه تا شنبه)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
دستور # * * * * * برای اجرا
چرا وردپرس به کرون جابز نیاز دارد؟
شاید حدس زده باشید! در اینجا چند مورد وجود دارد که در آن خود وردپرس یا برخی از افزونه ها از cron job استفاده می کنند:
افزونه ها/موضوع/به روز رسانی های اصلی را بررسی کنید
پست های وبلاگ برنامه ریزی شده
پشتیبان گیری ایجاد کنید
بهینه سازی جداول پایگاه داده
ارسال ایمیل
و موارد دیگر …
چه مشکلی در مورد کرون وردپرس داخلی وجود دارد؟
WP-Cron Cron برای وردپرس است. با این حال، کار WP-Cron با cron که در بالا ذکر کردم متفاوت است. برخی از مشکلات فنی برای وردپرس برای تنظیم وظایف cron در فایل crontab وجود دارد. بنابراین WP-Cron بر اساس کرون سرور نیست. در عوض، هر بار که کاربر از پستها یا صفحات شما بازدید میکند و آن را اجرا میکند، هر شغلی را بررسی میکند.
صفر بازدید کننده = صفر کرون اجرا می شود
شما برنامه ریزی کرده اید که هر روز ساعت 6 بعد از ظهر یک گزارش ایمیل (از طریق برخی از افزونه ها) ارسال کنید. اما اگر در آن زمان هیچ بازدید کننده ای نباشد چه؟
بازدیدکنندگان بیشتر = اجراهای غیر ضروری کرون
فرض کنید سایت شما در هر ثانیه 10 صفحه بازدید می کند. سپس WP-Cron هر ثانیه 10 بار کار های cron را بررسی می کند. بررسی و اجرای cron jobها شامل اجرای PHP است. همانطور که می دانید این منبع نیازمند ترافیک است و هم با افزایش ترافیک سایت شما را کند می کند. بهترین روش این است که از cron job سیستم فوق استفاده کنید و WP-Cron را غیرفعال کنید.
چگونه Cron Job داخلی وردپرس را غیرفعال کنیم؟
قبل از اینکه کارهای cron خارجی را تنظیم کنیم، اجازه دهید WP-Cron داخلی را غیرفعال کنیم.
wp-config.php را از مدیر فایل خود باز کنید و کد زیر را در بالای فایل اضافه کنید:
define(‘DISABLE_WP_CRON’، true);
اگر از سی پنل به File Manager دسترسی ندارید یا ارائه دهنده هاست شما آن را ارائه نمی دهد، WP File Manager را نصب کنید. یک فایل منیجر درست در داخل ادمین WP به شما می دهد.
چگونه Cron Jobs خارجی را در وردپرس راه اندازی کنیم؟
ما باید هر x دقیقه با https://domain.com/wp-cron.php?doing_wp_cron تماس بگیریم. راه های مختلفی برای تنظیم آن بر اساس هاست شما وجود دارد.
استفاده از EasyCron (ساده ترین راه)
EasyCron سرویسی است که به شما این امکان را می دهد تا به راحتی مشاغل cron را ایجاد کنید. برنامههای رایگان به شما امکان میدهند مشاغل cron را ایجاد کنید که هر 20 دقیقه اجرا میشوند. این برای اکثر سایت ها بیش از اندازه کافی است.
آموزش کرون جاب سی پنل
راه اندازی وردپرس easycron با استفاده از سی پنل
«Cron Jobs» را از سی پنل باز کنید:
cron job cpanel
یک cron job جدید به شرح زیر اضافه کنید:
cron job cpanel را اضافه کنید
برای دستور، از کد زیر استفاده کنید (به جای domain.com کد خود را جایگزین کنید):
wget -q -O – https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
در سرور VPS
SSH را در سرور VPS خود وارد کنید و دستور را وارد کنید:
crontab -e
با این کار فایل crontab باز می شود. حالا دستور زیر را به آن فایل اضافه کنید و از (:wq برای خروج از ویرایشگر) خارج شوید:
wget -q -O – https://domain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
راه های ابری (cloudways cron job)
برنامه خود را باز کنید و به “Cron Job Management” بروید تا یک cron job جدید ایجاد کنید.
نوع را به عنوان “PHP” انتخاب کنید و “wp-cron.php?doing_wp_cron” را به دستور اضافه کنید:
cloudways cron job
SiteGround
مراحل “استفاده از cPanel” را مانند بالا دنبال کنید.
Cron Job ها یا وظایف زمانبندی شده، به شما اجازه میدهند تا برنامههایی را که باید در زمان مشخصی اجرا شوند، تعریف کنید. در وردپرس، شما میتوانید از پلاگینهایی که اجرای وظایف Cron Job خارجی را انجام میدهند، استفاده کنید.
در ادامه، نحوه نصب و راهاندازی یک پلاگین Cron Job خارجی در وردپرس را بطور مختصر توضیح میدهیم.
نحوه راه اندازی Cron Job
انتخاب پلاگین: ابتدا باید یک پلاگین Cron Job را انتخاب کنید. برخی از پلاگینهای محبوب برای اجرای وظایف Cron Job خارجی عبارتند از WP Control، WP Crontrol و Advanced Cron Manager.
نصب و فعالسازی پلاگین: بعد از انتخاب پلاگین، باید آن را نصب کنید و پس از نصب، پلاگین را فعال کنید.
ایجاد وظیفه: بعد از فعالسازی پلاگین، باید یک وظیفه کرون جاب جدید ایجاد کنید. برای این کار، به صفحه مدیریت پلاگین مراجعه کنید و گزینه “افزودن وظیفه جدید” را انتخاب کنید. سپس باید جزئیات وظیفه را وارد کنید، از جمله زمانی که وظیفه باید اجرا شود، URL اسکریپت خارجی و سایر تنظیمات مورد نیاز.
ذخیره وظیفه: پس از تنظیم جزئیات وظیفه، باید آن را ذخیره کنید.
تست وظیفه: برای اطمینان از درستی عملکرد وظیفه، میتوانید آن را تست کنید. برای این کار، گزینه “اجرای دستی” را انتخاب کنید و بعد از اجرای وظیفه، نتیجه را بررسی کنید.
بررسی وضعیت وظیفه: پس از تنظیم و اجرای وظیفه، برای بررسی وضعیت آن میتوانید به صفحه مدیریت پلاگین مراجعه کنید و وضعیت اجرای وظیفه را بررسی کنید. اگر وظیفه به درستی اجرا شده باشد، میتوانید با اطمینان از عملکرد صحیح وظیفه در زمان مشخصی، استفاده کنید.
در صورتی که وظیفه به درستی عمل نکرده باشد، باید تنظیمات را بررسی کنید و در صورت نیاز آنها را تصحیح کنید. همچنین ممکن است به دلیل محدودیتهای سرور، وظیفه اجرا نشده باشد، در این صورت با مدیر سرور تماس بگیرید تا مشکل را بررسی کند.
نتیجه
فعال کردن کرون جاب های خارجی به کاهش استفاده از منابع، ارائه عملکرد بهتر و اجرای کارها با اطمینان بیشتر و به موقع کمک می کند. امیدواریم این مقاله برایتان مفید واقع شده باشد. اگر سوالی یا نظری دارید در بخش کامنت ها با ما به اشتراک بگذارید.