Cron اختصار یافته کلمات Command Run On میباشد. Cron به نام UNIX Scheduler نیز معروف است. cron در واقع یک پروسس سیستمی است که به طور خودکار وظایف مشخص شده در وهله های زمانی معین را برای شما انجام میدهد. Cron قابلیتی در سیستم عامل لینوکس است که یک دستور یا اسکریپت را روی سرور شما زمانبندی میکند تا به طور خودکار در زمان و تاریخ مشخص شده اجرا شود. cron job یک کار یا Task زمان بندی شده است میباشد و این در حالیست که برای انجام کار های تکراری در سیستم عامل لینوکس بسیار میتوانند مفید واقع شوند در واقع میتوان گفت که هدف از ایجاد cron job انجام کار های تکراری در لینوکس است.
Cron Job چه کاربردی دارد؟
فرض کنید شما می خواهید هر روز از دیتابیس سایت خود بکاپ تهیه کنید و بر فرض شرکت ارائه دهنده هاستینگ شما بک آپ روزانه ندارد، بهترین راه حل در این مواقع استفاده نوشتن یک اسکریپت برای تهیه بک آپ از دیتابیس میباشد، ولی بعد از نوشتن اسکریپت نیز بصورت اتوماتیک قابلیت اجرا ندارد. بنابراین شما میتوانید یک Cron Job تعریف کنید که دقیقا هر شب ساعت 12 از کل دیتابیس های شما بک آپ تهیه و در محل هاست در سرور ذخیره کند.
مثلا شما نیاز دارید که در هفته 3 روز به تمام کاربران سایت خود بصورت اتوماتیک یک ایمیل ارسال کنید. در صورتی که از ابزار های ایمیل مارکتینگ استفاده نمی کنید، می توانید یک اسکریپت برای آن تهیه کنید و در Cron Job های خود تعریف کنید که هر 3 روز یکبار اسکریپت ارسال ایمیل شما فراخوانی گردد.
و یا شما میتوانید یک cron job را برای حذف فایل های موقتی یا Temporary در هر هفته ، برای حفظ فضای خالی دیسک تان تنظیم کنید. شما ممکن است بعضی از برنامه ها را که نظیر Drupal میباشد را نصب کنید تا بتوانید یک cron job برای انجام برخی وظایف تنظیم کنید. اسکریپت هایی که به عنوان cron job اجرا میشوند معمولا برای تغییر فایل ها یا دیتابیس ها استفاده میشوند و از cron job ها میتوان برای ارسال ایمیل به یک کاربر نیز استفاده کرد.
آموزش کار با cron job
ابتدا وارد کنترل پنل cpanel شوید از قسمت Advanced روی Cron Jobs کلیک کنید.
قبل از شروع کار لازم به ذکر است توجه داشته باشید که در صفحه مخصوص Cron Jobs طبق تصویر زیر بخشی به نام Cron Email وجود دارد که می توانید ایمیل خود را در آن وارد کنید تا پیغام های اجرا یا خطای Cron jobs برای شما ارسال شود.
می توانید در کادر Current Email ایمیلی که ثبت شده را مشاهده نمایید
در صورتی که می خواهید آدرس ایمیل دریافت شده را تغییر دهید، می بایست ایمیل جدید را در کادر مشخص شده وارد فرمایید و سپس آیکون Update Email را بزنید
توجه:
در صورتی که می خواهید ارسال ایمیل برای شما صورت نگیرد کد dev/null 2>&1/< را در پایان هر دستور کران قرار دهید
دقت داشته باشید در صورت وجود کد مورد نظر در پایان هر دستور کران، ایمیل اطلاعیه ارسال نمی شود و برای حذف قطعه کد بالا از قسمت Edit که در ادامه توضیح داده شده است اقدام فرمایید
حال در صفحه باز شده از ۲ طریق میتوانید تنظیمات کرون جابز (Cron Jobs) را انجام دهید.
از منوی بازشو Common Settings، یکی از تنظیمات پیش ساخته را انتخاب نمایید:
مثلا:
Every minute: یعنی کد ما هر دقیقه اجرا می شود.
Twice an hour: در هر ساعت کد ما دو بار اجرا می شود.
1th and 15th: یعنی کد ما یکم و پانزدهم هر ماه اجرا می شود.
Once a month: یعنی کد ما هر ماه یکبار اجرا می شود.
و یا تنظیمات را خودتان به صورت دستی وارد کنید:
قسمت دقیقه رو * میزاریم. (باید علامت * باشه)
قسمت ساعت رو میزاریم روی ۱۰ (به معنای ساعت ۱۰ صبح)
قسمت روز رو * میزاریم. (یعنی هر روز…)
قسمت ماه رو هم * میزاریم. (یعنی هر ماه…)
قسمت روز هفته رو هم * می زاریم . (یعنی هر روز هفته)
پس شد هر روز صبح ساعت ۱۰٫۰۰دقیقه بیا فایل مورد نظر رو بررسی کن.
خب مسیر فایل رو هم در قسمت command بصورت زیر وارد می کنیم:
php /home/cptest1/public_html/cron.php
سپس دکمه ی Add New Cron Job را کلیک کنید.
Cron job ایجاد شده را میتوانید در انتهای صفحه در قسمت Current Cron Job مشاهده کنید و در صورت نیاز با استفاده از دکمه Edit تنظیمات مربوط به آنرا تغییر دهید و یا با کلیک بر روی دکمه Delete آن را به طور کامل حذف کنید.
لازم به توضیح است دستورات شما زمانی قابلیت اجرایی پیدا خواهند كرد كه دوره زمانی صحیحی را وارد كرده باشید . قبل از Save كردن اطلاعات از درست بودن این قسمت اطمینان حاصل فرمایید.