قرار دادن کرون جاب در سی پنل
کرون جاب قابلیتی است که با استفاده از آن می توانید فایل ها را در زمان های خاصی اجرا کنید. به عنوان مثال می توانید تنظیم کنید که کرون جاب هر روز راس ساعت 6 یک فایل را اجرا کند یا مثال بهتر آن این است که کرون جابی ست کنید که پوشه tmp را هر شب ساعت 11 پاک کند تا فایل های اضافی از هاست شما پاک شود.
ابتدا وارد سی پنل شوید.
از قسمت advanced همانند تصویر زیر Cron Jobs را انتخاب کنید.
در قسمت Email ایمیل خود را وارد کنید تا هر زمان که این فایل اجرا شد یک ایمیل هم برای شما ارسال شود . اگر آدرس ایمیلی در این قسمت قرار ندهید به صورت پیش فرض به آدرس ایمیل سی پنل شما ارسال خواهد شد .
به این نکته دقت داشته باشید که اگر تعداد کرون جاب های شما زیاد است و یا باید در فواصل زمانی کوتاه اجرا بشوند ارسال ایمیل در تعداد بالا ممکن است باعث اسپم شدن آدرس ایمیل شود . برای جلوگیری از مسدود شدن دستور >/dev/null 2>&1 را در انتهای دستور cron job خود وارد کنید .
از قسمت Add New Cron Job می توانید بازه زمانی که فایل اجرا شود را انتخاب کنید. می توانید تعیین کنید که در زمان مشخص یا در فواصل مشخص این فایل اجرا شود .
Minute : در این قسمت باید دقیقه ای که میخواهید کرون جاب اجرا شود را وارد کنید. عدد وارد شده باید بین 0 و 59 باشد.
Hour : در این قسمت باید ساعتی که میخواهید کرون جاب اجرا شود را وارد کنید. عدد وارد شده باید بین 0و 23 باشد.
Day : در این قسمت باید روز مدنظر خود را از بین 1 تا 31 انتخاب کنید.
Month : ماه مورد نظر خود برای اجرای کرون جاب را در این قسمت با وارد کردن عدد بین 1 تا 12 انتخاب کنید.
Weekday : در این قسمت باید روز هفته ای که میخواهید کرون جاب اجرا شود را وارد کنید . عددی بین 0 تا 6 – 0 معادل یکشنبه و 6 معادل شنبه است.
0 - Sun Sunday
1 - Mon Monday
2 - Tue Tuesday
3 - Wed Wednesday
4 - Thu Thursday
5 - Fri Friday
6 - Sat Saturday
7 - Sun Sunday
Command : در این فیلد هم باید آدرس فایل یا دستور مدنظر خود برای اجرای کرون جاب را وارد کنید.
برای اینکه چند مقدار را در یک قسمت قرار دهید میان مقادیر از , استفاده کنید .
اگر هاست شما دسترسی ترمینال دارد برای اینکه بررسی کنید که Command شما درست است یا خیر، Command را در ترمینال وارد کنید. اگر خروجی مدنظر شما را نمایش داد پس این کامند درست است.
خود سی پنل برای شما مثال زده است. کافی است مسیر فایل را در جای درست ویرایش کنید.
به عنوان مثال، فایلی که می خواهیم اجرا کنیم در public_html قرار دارد، پس مسیر آن به صورت زیر می شود.
php /home2/username/public_html/artisan schedule:run >> /dev/null 2>&1
چنانچه پروژه را به روش دیگری راه اندازی کرده اید که پوشه ها در مسیر قبل از public_html درج شده است، باید به جای public_html نام همان پوشه را در لینک بالا قرار دهید : برای مثال :
php /home2/username/laravel/artisan schedule:run >> /dev/null 2>&1
برای تست عملکرد، ابتدا دستور زیر را در ترمینال بزنید و خروجی را مشاهده کنید. ( عبارت انتهایی دستور، یعنی dev/null 2>&1 << را بردارید)
php /home2/username/laravel/artisan schedule:run
سپس اگر بدون مشکل بود، به صورت زیر در کران جاب قرار دهید.
php /home2/username/laravel/artisan schedule:run >> /dev/null 2>&1
در مواردی که از درست بودن دستور اطمینان دارید اما خروجی مد نظر شما نشان داده نمی شود، می توانید نسخه های مختلف php را از قسمت select php version بررسی کنید که می توانید از آموزش این لینک استفاده کنید.
تنظیمات خاص کران جاب
1 1 1 * * command
در ساعت 01:01am اولین روز هر ماه اجرا می شود
* * 1 1 * command
فقط در روز اول اولین ماه میلادی (January) به صورت هر دقیقه اجرا می شود.
0 0 * * 6 command
فقط روزهای شنبه، ساعت 12:00am یکبار اجرا می شود.
1 1 1 1 * command
در ساعت 01:01am روز اول ماه اول سال میلادی (January) دستور اجرا خواهد شد.
از ساعت 9:00 تا ساعت 16:59 دقیقه، به صورت هر دقیقه و در روز های دو شنبه تا جمعه دستور را اجرا می کند
*/2 9-16 * * * command
از ساعت 9:00 تا 16:59 دقیقه هر روز، فقط در دقایق زوج دستور را اجرا می کند
30-35/2 * * * * command
در فاصبه زمانی 30 تا 35 دقیقه بعد از هر ساعت در هر روز، فقط در دقایق زوج دستور را اجرا می کند
30-35/2 9,10,12,13,15,16,17 * * * command
در این کران جاب ، ساعت 11 و 14 مستثنی شده است ،و در فاصله زمانی 30 دقیقه تا 35 دقیقه ساعت های تعیین شده یعنی از ساعت 9 تا ساعت 17 به غیر از ساعت 11 و 14، دستور تعیین شده را اجرا می کند
30-35/2 9-11,15-16 * * * command
در فاصله زمانی 30 تا 35 دقیقه در دقایق زوج، از ساعت 9:00 تا 11:59 و 15:00 تا 16:59 هر روز دستور تعیین شده اجرا می شود
* * 15-31 10 * command
در روزهای پانزدهم تا روز سی یکم ماه دهم سال میلادی (October) به صورت هر دقیقه در تمام طول روز دستور را اجرا می کند
* 17-23 15 10 * command
این کران جاب، از ساعت 17:00 تا پایان همان روز یعنی 23:59 روز پانزدهم ماه دهم میلادی (October) هر دقیقه دستور را اجر می کند
0 0 15-31 10 * command
این کران جاب در ابتدای هر روز یعنی روز پانزدهم تا روز 31 ماه دهم میلادی (October) به صورت روزانه اجرا می شود.
0 17-23 15 10 * command
این کران جاب، به صورت ساعتی، از ساعت 17 تا ساعت 23 روز پانزدهم مه دهم میلادی (October) اجرا می شود
0 0-18 20 11 * command
از ابتدای روز تا ساعت 16:00 به صورت ساعتی و در تاریخ بیستمین روز ، یازدهمین ماه میلادی (نوامبر) اجرا می شود
همینطور از طریق لینک زیر می توانید کران جاب های خودتون رو بنویسید و تنظیم کنید و یا کران جاب های نوشته شده رو تست بفرمایید
crontab.cronhub.io
امیدوارم این آموزش برای شما مفید واقع شده باشد.