کرون یک سیستم زمانبدی برای انجام عملیات ها می باشد که مختص به سیستم عامل های بر پایه لینوکس است. با استفاده از این سیستم شما میتوانید دستورات و یا اسکریپت های خود را در زمانبندی های معین بین ثانیه، دقیقه، ساعت، روزانه، هفتگی و یا ماهیانه مورد اجرا قرار دهید و بدون مراجعه دوباره و اتصال به اینترنت، دستورات به طور خودکار بر اساس زمانبندی از قبل تعیین شده اجرا می شوند.
کرون جاب این قابلیت را برای کاربران فراهم می آورد تا بتوانند کارها (دستور ها و شل اسکریپت) به صورت زمان بندی شده و در دورههای مشخص اجرا کند. از مصارف پر کاربرد آن میتوان به ارسال ایمیل های انبوه، چک کردن تنظیمات سیستم و اتصال به اینترنت، دانلود ایمیل ها و کلاً هر عملیاتی را می توان با این سیستم زمانبندی کرد و در زمان معین آن را اجرا کرد. نام Cron از کلمه زمان در زبان یونانی (Chronos) گرفته شده است.
کرون به وسیله فایل Crontab، فایل پیکربندی ای که حاوی دستورات مشخص Shell است، تا در زمانبندی تعیین شده اجرا شود. فایل crontab در همان مکانی ذخیره می شود که لیست عملیات ها و ساختار کلی کرون وجود دارد ذخیره و نگه داری می شود.
تمامی کاربران میتوانند فایل crontab مختص به خود را داشته و آن را ویرایش کنند. این فایل معمولاً در پوشه etc و یا در زیر شاخه /etc قرار دارد که فقط مدیر سیستم می تواند آن را ویرایش کند. هر خط از فایل crontab نشان دهنده یک کار یا یک عملیات است که طبق دستورات Shell اجرا می شوند.
در برخی از پیاده سازی های Cron همانند ۴th BSD که یکی از محبوب ترین نسخه ها نیز هست و توسط Paul Vizie نوشته شده است ( این نسخه از کرون در بسیاری از توزیع های لینوکس قرار شده است) شامل شش فیلد می باشد. در این شش فیلد شما میتوانید زمان دقیق اجرا را طبق نیازتان تعیین نمایید.
به عنوان مثال این کرون برنامه test.php را در مسیر زیر هر ۲ ساعت یکبار اجرا می کند.
۰ */۲ * * * /home/username/test.php
برای ایجاد زمان بندی ها میتوان از چند برنامه که از پیش تعریف شده اند استفاده کرد که در ادامه به آشنایی با آنها می پردازیم.
مقدار ورودی | توضیحات | معادل است با |
| اجرا دستور هر سال یک بار در یکم January |
|
| اجرا دستورات در یکم هر ماه |
|
| اجرا دستور یک بار در هفته در ساعت ۲۴ یکشنبه |
|
| اجرا در ساعت ۲۴ هر روز |
|
| اجرا دستورات در هر ساعت |
|
| اجرا در هنگام راه اندازی مجدد |
|
روش مقدار دهی و ترتیب اجرا دستورات نیز بدین صورت می باشد:
مفدار دهی روز های هفته: از ۰ تا ۶ به معنی روز های هفته می باشد. ۰ به معنی روز یکشنبه و ۶ به معنای روز شنبه.
مقدار دهی برای ماه: از ۱ تا ۱۲ برای ماه های سال.
مقدار دهی روز های ماه: از ۱ تا ۳۱ به عنوان روز های ماه.
مقدار دهی ساعت: از ۱ تا ۲۳ به عنوان ساعت های روز.
مقدار دهی دقیقه: از ۱ تا ۵۹ به عنوان دقایق.
از مقدار @reboot زمانی استفاده می شود که میخواهیم پس از ری بوت شدن سیستم یک دستور اجرا شود.
استفاده از کاراکتر های ویژه بستگی به نسخه کرون شما دارد.
کاراکتر ستاره (*): از کاراکتر ستاره به منظور تمام ظرفیت فیلد استفاده می شود. مثلا اگر در فیلد ماه استفاده شود به منظور هر ماه است.
کاراکتر ( /): از این کاراکتر برای مشخص کردن مقداری از فیلد استفاده می شود برای مثال ۳-۵۹/۱۵ به معنای دقیقه سوم از ساعت و پس از هر ۱۵ دقیقه می باشد و یا */… به معنای استفاده حداکثر از فیلد می باشد.
کاراکتر کاما (,): از این کاراکتر برای جداسازی مقادیر استفاده می شود. برای مثال اگر در فیلد پنجم یعنی روز های هفته به این صورت استفاده شود (mon,wen,fri) به معنی در روز های دوشنبه،چهارشنبه و جمعه کرون اجرا شود.
کاراکتر خط تیره (-): از این کاراکتر برای تعیین بازه یا رنج استفاده می کنند. بر فرض مثال اگر در فیلد سال استفاهد شود ۲۰۰۰-۲۰۱۴ بدین معناست که از سال ۲۰۰۰ تا سال ۲۰۱۴ هر سال یک بار کرون اجرا شود.
برای ایجاد Cron job جدید بعد از ورود به محیط cPanel از قسمت Advanced بر روی گزینه Cron jobs کلید نمایید:
سپس در این صفحه بعد از تنظیمات مربوط به زمان اجرا، دستور مورد نظر را وارد کنید. معمولا Cron job در نرم افزارهای تحت وب، به معنای اجرای یک اسکریپت است. لذا یکی از دستورات curl، wget یا lynx را با فرمت زیر انتخاب و در قسمت Command وارد کنید.
php -q /home/user/public_html/test/cron.php
wget -o/dev/null -O- http://test.ezhost.ir/cron.php
در صورت نیاز به هر گونه راهنمایی بیشتر در زمینه تنظیم کرون جاب بر روی هاست خود، می توانید از طریق هر یک از راه های ارتباطی موجود با کارشناسان ایزی هاست تماس برقرار نمایید.