فهرست محتوا
به کمک کرون جاب Cron job می توانید اجرای یک دستور در هاست را زمان بندی کنید، تا در زمان دلخواه به طور خودکار اجرا شود یا اجرای یک دستور در زمانهای خاصی تکرار شود.
این ویژگی برای مواردی مناسب است که انجام یک کار تکراری در زمانهای نزدیک به هم، به صورت دستی بسیار دشوار باشد. مثلاً فرض کنید بخواهید هر دو ساعت یک بار از دیتابیس خود بکاپ بگیرید، و بکاپهای مربوط به روز گذشته را با ترتیب زمانی پاک کنید. انجام این کار به صورت دستی تقریباً غیرممکن است!
در چنین مواقعی cron job به کمک ما می آید و با تعریف دستورالعمل برای cron به راحتی می توانیم هر کاری را به طور متوالی از سرور بخواهیم. در این مقاله به آموزش cron job می پردازیم و مرحله به مرحله آموزش می دهیم چطور باید از این امکان استفاده کرد.
آموزش کرون جاب در سی پنل
برای تعریف cron job جدید یا تغییر cron jobهای قبلی، ابتدا باید وارد کنترل پنل هاست خود شوید. بسیاری از هاستینگها میانبر کرون را در صفحه اصلی کنترل پنل خود قرار دادهاند و کافی است روی آن کلیک کنید، تا وارد قسمت تنظیمات “cron job” شوید.
به جای اینکه از این قسمت وارد شوید، می توانید مستقیماً وارد کنترل پنل cPanel شوید. در منوی سی پنل هم می توانید در بخش Advanced تنظیمات کرون جاب را پیدا کنید و وارد آن شوید. اگر در کار کردن با سی پنل مشکل دارید، باید مقاله « آموزش سی پنل هاست » را بخوانید که در آن سی پنل را به صورت کامل از پایه توضیح دادهایم.
فیلد ایمیل کرون جاب
بعد از ورود به این قسمت، اولین بخش فیلد ایمیل است. این ایمیلی است که سیستم می خواهد بعد از هر بار اجرای دستور کرون جاب، یک بار به آن اطلاع دهد که دستور را اجرا کرده است. بهتر است در ابتدا فقط برای آزمایش صحت انجام دستورات توسط “cron” ایمیل خود را وارد کنید و بعد از آن ایمیل صحیحی وارد نکنید، چون ارسال ایمیلهای متوالی برای “cron job”هایی که در فواصل زمانی نزدیک به هم (هر چند ساعت یک بار) هم منابع سرور را بیش از اندازه مصرف می کند و هم برای خودتان آزاردهنده خواهد بود.
آموزش cron job: زمان بندی
بخش add new cron job قسمت اصلی کار ما است، که در آن باید یک کرون جاب جدید تعریف کنیم تا سیستم آن را اجرا کند. ابتدا به موضوع زمان بندی کرون جاب می پردازیم.
در این قسمت، چند فیلد مختلف برای تنظیمات، می بینید.
فیلد اول Common Settings است. در این قسمت، چند مورد از تنظیمات زمان بندی اجرای cron job را که متداول است و کاربران معمولاً انجام می دهند، به صورت پیش فرض می بینیم. اگر بخواهیم، می توانیم از همین تنظیمات استفاده کنیم و اگر هم نه، می توانیم خودمان فیلدهای پایینی را تغییر دهیم. در تصویر زیر ما زمان دوبار در روز (هر ۱۲ ساعت) را برای زمان بندی انتخاب کردهایم.
اگر بخواهید خودتان زمان بندی را انجام دهید، می توانید از فیلدهای پایینی این کار را انجام دهید که توضیح آن به این صورت است:
Minute: بخش اول تعیین می کند که هر چند دقیقه یک بار این دستور انجام شود. مثلاً اگر در فیلد دقیقه عدد ۵ را وارد کنید، به این معناست که هر ۵ دقیقه یک بار دستوری که در انتهای این فیلد وارد شده است (و در بخش بعدی مقاله توضیح می دهیم) را اجرا کن.
Hour: این قسمت هم دقیقاً مثل قسمت قبل است، با این تفاوت که تعیین می کند هر چند ساعت یک بار باید دستور را اجرا کند. علاوه بر این، می توانید ساعت خاصی را هم برای اجرای دستور در نظر بگیرید. مثلاً برای اجرای دستور در هر روز صبح ساعت 8:30 دقیقه، باید بخش ساعت را روی 8a.m و بخش دقیقه را روی 30minute قرار دهید.
Day: تعیین می کند که در چه روزی از هر ماه این دستور اجرا شود. همچنین در این قسمت از آموزش cron job باید اشاره کنیم که برای اجرای دستور در هر روز یا هر دو روز یک بار نیز باید از این بخش تنظیمات را انجام دهید. اگر می خواهید دستور هر روز اجرا شود کافی است در این بخش علامت ستاره * قرار دهید.
Month: این بخش هم تنظیمات مربوط به ماه است.
Weekday: این قسمت هم تعیین می کند چه روزی از هر هفته دستور را اجرا کند. مجدداً علامت * به معنای هر هفته است.
تا به اینجای کار، نحوه زمان بندی برای اجرای کرون جاب را یاد گرفتیم، حالا باید ببینیم چطور خود دستور را وارد کنیم.
آموزش کرون جاب: ثبت دستور
بعد از تنظیمات زمان اجرا، نوبت ثبت دستور است. سادهترین شیوه برای ثبت دستور اجرای کرون جاب این است، که یک فایل php در هاست تعریف کنیم و بعد، آدرس آن را در این بخش وارد کنیم تا طبق زمان بندیِ تعریف شده، آن فایل اجرا شود.
ساختار دستوری که باید در این بخش وارد کنید به این شکل است:
/usr/local/bin/php/home/username/public_html/dastooreCron.php
به جای username نام کاربری هاست خود را وارد کنید و در ادامه هم آدرس محل قرار گرفتن فایل php را باید وارد کنید. اگر فایل را در پوشه ای غیر از public_html قرار داده اید، آدرس آن را به درستی وارد کنید و در انتها هم فراموش نکنید حتماً .php را به آدرس و نام فایل اضافه کنید (در اینجا ما نام فایل را dastooreCron.php گذاشتهایم).
در نهایت روی دکمه Add New Cron Job کلیک می کنیم تا کرون جاب جدید ساخته شود. در زیر همین بخش، می توانید به کرون جاب های قبلی دسترسی داشته باشید و آنها را تغییر دهید.
اگر بعد از ثبت دستور، ایمیلی به عنوان تأیید اجرای دستور برایتان نیامد یا از روش دیگری متوجه شدید کرون جاب شما به درستی اجرا نشده است، با پشتیبانی هاست تماس بگیرید تا مطمئن شوید لازم نیست، تغییری در آدرس فوق بدهید.
محدودیتهای کرون جاب:
- محدود به یک رایانه است (چه سیستم local و چه سرور روی شبکه) و اگر این سیستم دچار مشکلی شود، تمام دستورالعمل های تعریف شده از دست می روند.
- اگر دستور اجر نشود، قدرت تکرار مجدد ندارد و تا زمان بعدی که برای آن برنامه ریزی شده است، دستور به تعویق می افتد.
- نمی تواند دستورات را به طور مکرر در زمانی کمتر از 60 ثانیه انجام دهد. پس سریعترین زمان برای تکرار اجرای یک دستور به کمک کرون جاب، یک دقیقه است.
جمع بندی
در این مقاله، به آموزش cron job پرداختیم و توضیح دادیم نحوه زمان بندی cron job چطور است و روش ثبت دستور کرون جاب چیست. امیدواریم این مقاله برایتان مفید باشد.
اگر این مقاله برایتان مفید بود یا درباره کرون جاب سؤالی داشتید، نظر یا سؤال خود را در بخش کامنتهای همین مطلب بنویسید.
2 دیدگاه. Leave new
درود، آیا با قطعی، ریستارت یا Down شدن سرور توسط ارایه دهنده سی پنل. وقتی که سرور دوباره میاد بالا کران جاب دوباره به کار خود ادامه میده یا قطع میشه؟
درود بر آرمین عزیز
در اکثر اوقات، وقتی سرور شما ریستارت، down یا خاموش و روشن میشود، کران جابهایی که تعریف کردهاید به کار خود ادامه میدهند. cPanel برای مدیریت کران جابها از یک سیستم مدیریت cron استفاده میکند که بر روی سرور شما قرار دارد و مستقل از وضعیت cPanel است.
هنگامی که سرور ریستارت میشود، سیستم cron بعد از بالا آمدن سرور به صورت خودکار فعال میشود و تمامی کران جابهای قبلی که تعریف شده بودند، به ترتیب اجرا میشوند.