Cron دستوری لینوکسی جهت برنامه ریزی اتوماتیک یک دستور یا اسکریپت بر روی سرور جهت انجام امور تکراری است. اسکریپت هایی که توسط cron اجرا می شوند عموما تغییراتی بر روی فایل ها یا پایگاه داده ها ایجاد می کنند، همچنین جهت امور دیگری که تغییری بر روی داده های روی سرور ایجاد نمی شود نیز مورد استفاده قرار می گیرند مانند اطلاع از ارسال یک ایمیل.
برای مثال می توانید یک cron Job را جهت حذف فایل های temp (temporary files) به صورت هفتگی انجام دهید که در نتیجه فضای دیسک شما توسط فایل های غیرضروری اشغال نخواهد شد.
در اکثر اسکریپت ها، همانند Drupal، لازم است تا شما یک cron job را جهت انجام برخی امور تنظیم کنید.
محدودیت ها
Cron job ها می توانند ابزار بسیار کاربردی جهت تنظیم به صورت دقیقه ای، ساعتی، روزی در هفته، روز در ماه یا ترکیبی از آنها باشد. استفاده بیش از اندازه از cron Job ها می تواند یکی از دلایل لود غیرضروری بر روی سرور باشد.
اخطار: آشنایی شما با نحوه کار cron job موضوع مهمی است. قبل از آنکه بتوانید از cron jobs به صورت صحیح و موثر استفاده کنید لازم است با نحوه کار دستورات لینوکسی آشنایی داشته باشید.
برای اکثر cron job ها، سه مولفه زیر وجود دارد:
1- اسکریپتی که صدا زده یا اجرا می شود.
2- دستوری که در یک بازه مشخص اسکریپت را اجرا می کند.
3- عمل یا خروجی ای از اسکریپت (بسته به اسکریپتی که فراخوانی می شود)
نصب یک cron job
برای ذسترسی به cron job، بر روی دکمه advanced tools در منوی اصلی کنترل پنل کلیک کنید، سپس آیکن cron jobs را بزنید.
Cron job ها دستورات سیستمی ای هستند که می توانند برنامه ریزی کنند. برای مثال اگر می خواهید یک اسکریپت CGI را هر دوشنبه صبح اجرا کنید، می توانید این کار را از طریق منوی cron jobs انجام دهید. مقدارهایی که می توانید تنظیم کنید می توانند برحسب: دقیقه، ساعت، روز، ماه، روزی در هفته (دوشنبه – یک شنبه اعداد 0 و 7 نمایانگر یکشنبه هستند.) هر مقداری می تواند توسط کاراکتر * در فیلد مربوط به آن نادیده گرفته شود.
در مثال بالا، تنظیمات updater.cgi را برای اجرای هر روز در نیمه شب تنظیم کرده ایم.
- می توانید از کاراکتر “,” برای جدا کردن زمان های دقیق استفاده کنید.
مثال: دقایق 1 و 2 و 3 :
1,2,3
- می توانید محدوده را توسط کاراکتر “-” مشخص کنید.
مثال: دقایق 5 تا 7 :
5-7
- فواصل را توسط کاراکترهای * و / تعیین کنید.
مثال: هر دو دقیقه :
2/*
- برای ایجاد برنامه ریزی دقیق می توانید آن را ترکیب کنید.
مثال: دقایق 1 و 5 و 11 تا 14 و هر دو دقیقه بین 30 تا 59 :
1,5,11-15,30-59/2
بخاطر داشته باشید که در پایان ورود اطلاعات دکمه Add را کلیک کنید.
اگر قصد دارید که یک php script را اجرا کنید، بخاطر داشته باشید که php binary را اجرا کنید و آن را بهphp script انتقال دهید برای مثال:
/usr/local/bin/php /home/user/domains/domain.com/public_html/file.php
پس از انجام، cronjobs شما می تواند به شکل زیر باشد:
15,45 * * * * /home/domain.com/script/myscript > /dev/null 2>&1
فرم زمان بندی به شکل زیر خواهد بود:
* * * * * command to be executed
– – – – –
| | | | |
| | | | —– Day of week (0 – 7) (Sunday=0 or 7)
| | | ——- Month (1 – 12)
| | ——— Day of month (1 – 31)
| ———– Hour (0 – 23)
————- Minute (0 – 59)