کران جاب (Cron Job) چیست؟

شما قصد دارید در زمان های خاصی، عملی را به صورت متناوب انجام دهید. به عنوان مثال می خواهید برای تعدادی از کاربران خود ایمیل ارسال کنید، یکی از سرویس های خود را معلق (Suspend) کنید، برنامه خاصی برای سرور خود دارید و یا قصد دارید که یک دستور (Command) را اجرا نمایید، برای این منظور در سیستم عامل لینوکس از Cron Job و در ویندوز از Schedule Task استفاده می شود.

 در این مقاله قصد داریم به بررسی این موضوع را در لینوکس بپردازیم.

cron job

Cron یک سرویس زمانبندی است که وظیفه اجرای روتین‌های خاصی را در زمان مشخص بر عهده دارد. Cron این امکان را ایجاد می کند که کارهای روتین و روزمره را به صورت اتوماتیک به انجام برسانیم. کارهایی که باید با زمانبندی انجام شوند در فایلی با نام CronTab ذخیره می شوند. CronTab یک فایل متنی است که در هر سطر آن یک دستور با فرمتی که برای Cron قابل فهم است قرار می گیرد. به هر کدام از دستورات این فایل اصطلاحا Cron Job گفته می شود.

هر دستور کران دارای قسمت های متفاوتی است که در شکل زیر فرمت کلی دستور کران نمایش داده می شود.

ستاره اول: بیانگر دقیقه می باشد. در صورتیکه شما بخواهید عملی در زمان دقیقه انجام شود باید این گزینه را فعال کنید. برای مثال  عملیات زیر هر ۲۰ دقیقه جافظه رم سرور را خالی می کند . همانطور که مشاهده می کنید عدد ۲۰ به منظور هر ۲۰ دقیقه است.

۲۰ * * * * echo 3 > /proc/sys/vm/drop_caches

ستاره دوم: بیانگر نمایش ساعت می باشد. در صورتیکه بخواهید در ساعت ۱۲ هر شب از سرور شما بک‌آپ گرفته شود می بایست کران جاب زیر را اجرا کنید. این کران با دستور مذکور میگوید که در ساعت ۱ دستور بک‌آپ اجرا شود.

* ۱ * * * /usr/local/cpanel/scripts/cpbackup

ستاره سوم: بیانگر نمایش تعداد روزهای ماه می باشد. در صورتیکه بخواهید در روز ۱۵ ماه (به تاریخ سرور)، در ساعت ۴ و ۴۲ دقیقه حافظه سرور خالی شود می توانید از طریق گزینه زیر اقدام نمایید.

۴۲ ۴ ۱۵ * * /usr/local/cpanel/scripts/cpbackup

ستاره ۴ام و ۵ام : همانطور که مشخص است این دو ستاره نیز برای ماه و تعداد روزهای هفته می باشد که مانند ۳ ستاره اول عمل می کند.

cron permissions | دسترسی کران جاب

در کران، دو فایل زیر نقش  مهمی را اجرا می کنند.

/etc/cron.allow

در صورتیکه شما بخواهید یوزر خاصی از کران جاب استفاده کند میبایست اسم ان یوزر را در این فایل وارد کنید.

/etc/cron.deny

اگر فایل اول وجود نداشت و این فایل موجود بود شما می توانید یوزرهایی که نباید از کران جاب استفاده کنند را در این فایل قرار دهید.

دستورات کران جاب:

برای ویرایش و یا اضافه کردن یک کران جاب خاص می بایست از دستور زیر استفاده کنید:

crontab –e