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

تصویر کارتونی ساعت برای نمایش زمان‌بندی کارها با کرون جاب‌ها
Avatar
نویسنده: دریا آزادخواه
شنبه 4 فروردین 1403
مطالعه: ۱۰ دقیقه ۰ نظر ۱۱۰ بازدید

کرون جاب چیست؟ برای درک پاسخ این سوال فرض کنید باید هر روز ساعت ۷ صبح یک پست جدید در وبلاگتان منتشر کنید یا هر شب راس ساعت ۱۲ می‌خواهید به‌طور خودکار از سایتتان نسخه پشتیبان تهیه شود. برای انجام این کارها بدون دخالت خودتان،‌ کرون جاب به کمکتان می‌آید.

در این مقاله از آموزش لینوکس بلاگ پارس پک، به‌طور کامل کرون جاب و نحوه کار با آن را بررسی خواهیم کرد. پس از خواندن این مقاله، به‌طور کامل با عملکرد کرون جاب آشنا خواهید شد و در کارهایتان می‌توانید از آن استفاده کنید. آماده یک «خسته نباشید» اساسی از انجام کارهای تکراری هستید؟

کرون جاب چیست؟ دستیار کمکی مخصوص کارهای تکراری

کرون جاب (Cron Job) یک ابزار خط فرمان در سیستم‌عامل‌های یونیکس است که برای زمان‌بندی کردن کارها به کار می‌رود و با استفاده از آن می‌توانید به‌طور خودکار کارها یا به اصطلاح کرون‌ جاب‌ها را در زمان‌بندی مشخص و تعیین شده اجرا کنید.

کرون جاب، مانند یک «ربات همه‌کاره» شما را از انجام کارهای تکراری نجات می‌دهد. یعنی مثل یک دستیار باهوش در کنار شما است تا کارهای تکراری سرور، کامپیوتر و سایت مانند بکاپ‌گیری، بررسی فضای خالی دیسک، کارهای نگهداری سرور و حتی چک کردن لینک‌های خراب را به او بسپارید.

خرید هاست ابری

کاربرد کرون جاب چیست؟ 

در پاسخ به اینکه «کاربرد Cron Job چیست؟» باید بگوییم که هر کاری که قصد دارید به‌طور خودکار روی سیستم شما انجام شود، کرون جاب برایتان انجام می‌دهد. کارهایی از جمله:

  • اجرای اسکریپت‌ها
  • ارسال خودکار ایمیل
  • به‌روزرسانی خودکار
  • پشتیبان‌گیری خودکار
  • مدیریت وب‌سایت و انتشار محتوا

نکته:

فعال‌سازی و تاثیر کرون جاب روی سرعت سایت را نیز نمی‌توان نادیده گرفت. اگر با فعال‌سازی کرون جاب شاهد کاهش غیرطبیعی سرعت سایت وردپرسی‌تان بودید، به جای غیرفعال کردن کرون جاب می‌توانید اقدامات بهبود سرعت سایت را انجام دهید.

معایب Cron Job چیست؟

در کنار مزایای کرون جاب که اصلی‌ترین آن ساده‌ کردن کارها است، چالش‌های کار با آن را نیز در نظر بگیرید. این دستیار باهوش چند ایراد کوچک نیز دارد. برای مثال:

  • اگر کرون کاری را جا انداخت، نیاز است مجددا دوباره آن را به‌صورت دستی راه‌اندازی کنید.
  • کرون نمی‌تواند کارها را بین چند کامپیوتر در یک شبکه تقسیم کند. پس اگر کامپیوترتان خاموش شود، کارهای زمان‌بندی‌شده نیز انجام نخواهند شد.
  • اگر کاری اجرا نشد، کرون جاب نمی‌تواند دوباره آن را امتحان کند؛ در نتیجه برای کارهایی که باید حتما انجام شوند، شاید نتوانید روی آن حساب باز کنید.
  • کرون جاب از تنظیمات برخی برنامه‌ها که در فایل‌های دیگر ذخیره شدن استفاده نمی‌کند.
  • کمترین فاصله‌ زمانی بین دو کرون جاب، یک دقیقه‌ است. یعنی نمی‌توانید تعیین کنید هر ۳۰ ثانیه کاری را انجام دهد.
اینفوگرافیک تاثیر استفاده از کرون جاب روی سئو سایت
بررسی تاثیر استفاده از Cron Jobs روی سئو

نحوه کار Cron Jobs چیست؟

کرون نوعی برنامه همیشه فعال در بکگراند سیستم‌عامل‌های شبیه یونیکس مانند لینوکس است و هیچ ارتباط مستقیمی با کاربر ندارد. کار کرون جاب این است که با توجه به تنظیمات درخواستی شما، یک‌سری اقدامات را در زمان‌های خاص اجرا کند. برای مثال، هر روز راس ساعت ۸ صبح یک اسکریپت خاص را اجرا کند.

به‌طورکلی کرون جاب معمولاً از دو بخش اصلی تشکیل شده است:

  • کرون دیمند (Cron Daemon)

برنامه‌ای که همیشه در پس‌زمینه سیستم‌عامل لینوکس یا شبیه لینوکس اجرا شده و وظیفه‌اش زمان‌بندی کردن کرون جاب‌هاست.

  • کرون تب (Crontab)

برنامه‌‌ای که به شما اجازه می‌دهد لیست کارها را با Cron زمان‌بندی، ویرایش و مدیریت کنید. تنظیمات کرون جاب در فایل متنی کرون تب (Crontab) ذخیره می‌شود و معمولا فقط مدیران سیستم به آن دسترسی دارند.

راهنمای جامع اجرای دستورات لینوکس در پس زمینه را در مقاله زیر بخوانید.

اجرای دستورات لینوکس در پس زمینه

دستورالعمل‌های کرون تب (Crontab Syntax) 

قبل از راه‌اندازی و استفاده از کرون جاب نیاز است نوع و فرمت دستورات کرون جاب را بفهمید تا اسکریپت شما به‌درستی عمل کند. گویی که یک کاغذ در اختیار دارید که در آن وظایف هر کس به‌طور دقیق نوشته شده است. کرون جاب نیز یک لیست ۵ قسمتی و مشخص از وظایف هر بخش دارد:

۱. دقیقه (Minute): از ۰ تا ۵۹ دقیقه، کدام زمان قصد اجرای کار را دارید؟

۲. ساعت (Hour): از ساعت ۰:۰ (۱۲ شب) تا ساعت ۲۳ (۱۱ شب) چه ساعتی می‌خواهید برنامه اجرا شود؟

۳. روز (Day of the month): از روز ۱ تا ۳۱، کدام روز از ماه قصد اجرای کرون جاب را دارید؟

۴. ماه (Month): در کدام ماه از سال ( از ۱ تا ۱۲) می‌خواهید کرون جاب اجرا شود؟

۵. هفته (Day of the week): این بخش نیز روز هفته را مشخص می‌کند که از ۰ تا ۶ می‌توانید آن را انتخاب کنید. در برخی سیستم‌ها عدد ۷ برای روز یکشنبه است.

در نحوه کار با کرون جاب توجه داشته باشید آن را طبق زمان‌بندی مناطق مختلف به‌درستی تنظیم کنید.

اینفوگرافیک ساعت و چک لیست برای خودکارسازی وظایف با کرون جاب
استفاده از دستورالعمل‌های کرون جاب برای زمان‌بندی وظایف

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

  • ستاره (*): این علامت تمام مقدارهای ممکن را به اجرا درمی‌آورد. مثلا اگر در قسمت دقیقه یک ستاره بگذاریم، یعنی اسکریپت هر دقیقه اجرا شود.
  • کاما (,): با کاما می‌توانید چند مقدار مختلف را همزمان تعیین کنید. مثلا اگه ۱,۵ را در قسمت روز هفته بذاریم، یعنی اسکریپت دوشنبه‌ها و جمعه‌ها اجرا شود.
  • خط تیره (-): با خط تیره می‌توانید یک محدوده را مشخص کنید. مثلا اگه ۶-۹ را در قسمت ماه قرار دهیم، یعنی اسکریپت از خرداد تا شهریور اجرا شود.
  • اسلش (/): این علامت، برای تکرار با یک فاصله مشخص است. برای مثال، اگر */۱۲ را در قسمت ساعت بگذاریم، یعنی اسکریپت هر ۱۲ ساعت اجرا شود.
  • آخرین (L): این علامت آخرین روز را نشان می‌دهد و آن را می‌توانید در قسمت‌های روز ماه و روز هفته استفاده کنید. مثلا 3L در قسمت روز هفته یعنی آخرین چهارشنبه ماه.
  • هشتک (#): این علامت به شما کمک می‌کند از ۱ تا ۵ روز خاصی از ماه را انتخاب کنید. مثلا، ۱#۲ یعنی کار شما در دومین دوشنبه هر ماه اجرا شود.
  • علامت سوال (?): این علامت برای تعیین نکردن هیچ روز خاصی در ماه و هفته استفاده می‌شود. زمان اجرای کرون جاب در چنین حالتی، براساس زمان راه‌اندازی سرویس کرون جاب در سیستم شما هماهنگ می‌شود. یعنی دیگر وابسته به زمان نیست.

نگران نباشید، خوشبختانه نیازی به حفظ کردن تمام این دستورات نیست. اگر نوشتن دستی تنظیمات کرون جاب برایتان سخت است، شما می‌توانید از ابزارهای رایگان مثل Crontab Generator یا Crontab.guru استفاده کنید. این ابزارها به شما کمک می‌کنند تا به‌راحتی زمان و تاریخ دقیق برای اجرای اسکریپت را مشخص کنید.

منظور از رشته‌های ویژه در کرون جاب چیست؟

رشته توضیح
@hourly یک بار در هر ساعت اجرا می‌شود.
@daily یا @midnight هر روز در نیمه شب اجرا می‌شود.
@weekly یک بار در هفته، در نیمه شب یکشنبه اجرا می‌شود.
@monthly یک بار در ماه، در اولین روز ماه اجرا می‌شود.
@yearly یک بار در سال، در نیمه شب اول ژانویه اجرا می‌شود.
@reboot یک بار هنگام راه‌اندازی مجدد سیستم اجرا می‌شود.

مجوزهای کرون جاب چیست؟

برای اینکه کرون جاب‌ها به درستی اجرا شوند، باید مجوزهای لازم برای فایل‌های سیستمی کرون تنظیم شود. برای این کار می‌توانید دو فایل cron.allow و cron.deny را ایجاد یا ویرایش کنید:

  • اگر فایل /etc/cron.allow وجود داشته باشد، باید لیستی از نام‌های کاربری مجاز برای اجرای کرون جاب‌ها را در آن قرار دهید.
  • اگر فایل /etc/cron.deny وجود داشته باشد و نام کاربری شما در آن قرار گیرد، شما نمی‌توانید از کرون جاب استفاده کنید.
تصویر دو مرد در اتاق کار که در مورد استفاده از کرون جاب صحبت می‌کنند
تاثیر استفاده از کرون جاب برای خودکارسازی وظایف

نمونه‌ای از عملیات‌های کرون جاب با یک نگاه 

در ادامه «آموزش کرون جاب چیست»، برای راحت‌تر کارتان لیستی از دستورات رایج از عملگرهای کرون جاب را آماده کردیم. در این جدول، مسیر اسکریپت‌ها (مانند /root/backup.sh) صرفا به عنوان نمونه است. شما می‌توانید زمان‌بندی و مسیر را با توجه به نیازتان تغییر دهید.

نمونه توضیح
0 0 * * 0 /root/backup.sh یک بکاپ کامل هر یکشنبه در ساعت ۱۲ شب می‌گیرد.
0 * * * 1 /root/clearcache.sh کش (Cache) سیستم را هر دوشنبه در تمام ساعت‌ها پاک می‌کند.
0 6,18 * * * /root/backup.sh از اطلاعات دو بار در روز، در ساعت ۶ صبح و ۶ عصر بکاپ می‌گیرد.
*/10 * * * * /scripts/monitor.sh هر ۱۰ دقیقه یک بار سیستم را مانیتور می‌کند.
*/15 * * * * /root/backup.sh هر ۱۵ دقیقه یک بار از اطلاعات بکاپ می‌گیرد.
*** * 20 7 * /root/backup.sh** در روز ۲۰ تیرماه هر دقیقه یک بار بکاپ می‌گیرد.
0 0 * * 2 * /root/backup.sh هر سه‌شنبه در ساعت ۱۲ شب بکاپ می‌گیرد.
*** * * 1,2,5 * /scripts/monitor.sh** در ماه های دی، بهمن و اردیبهشت هر دقیقه سیستم را مانیتور می‌کند.
10-59/10 5 * * * /root/clearcache.sh از ساعت ۵:۱۰ صبح به بعد، هر ۱۰ دقیقه یک بار، کش سیستم را پاک می‌کند.
*0 8 1 /3 * /home/user/script.sh در روز اول هر فصل (۳ ماه یکبار)، راس ساعت ۸ صبح یک اسکریپت خاص را اجرا می‌کند.
0 * * * * /root/backup.sh هر ساعت یک بار از اطلاعات بکاپ می‌گیرد.
*** * * * * /scripts/script.sh; /scripts/script2.sh** دو اسکریپت را با هم در یک کرون جاب اجرا می‌کند.
@reboot /root/clearcache.sh طی هر بار روشن کردن سیستم، کش سرور را پاک می‌کند.
0 8 1-7 * 1 /scripts/script.sh در اولین دوشنبه هر ماه، راس ساعت ۸ صبح یک اسکریپت خاص را اجرا می‌کند.
5 4 * * 0 /root/backup.sh هر یکشنبه صبح، راس ساعت ۴:۰۵ از اطلاعات بکاپ می‌گیرد.
15 9 1,20 * * /scripts/monitor.sh در روزهای اول و بیستم هر ماه، راس ساعت ۹:۱۵ شب سیستم را مانیتور می‌کند.
@hourly /scripts/monitor.sh هر ساعت یک بار، اسکریپت مانیتورینگ را اجرا می‌کند.
0 0 1,15 * 3 /scripts/script.sh بین روزهای اول تا پانزدهم هر ماه، هر چهارشنبه در ساعت ۱۲ شب یک اسکریپت خاص را اجرا می‌کند.
15 14 1 * * /root/clearcache.sh در اول هر ماه، راس ساعت ۲:۱۵ بعد از ظهر کش سیستم را پاک می‌کند.
15 6 1 1 * /root/backup.sh در اول هر دی ماه، راس ساعت ۶:۱۵ صبح از اطلاعات بکاپ می‌گیرد.

قدرت زمان‌بندی با کرون جاب در هاست ابری پارس پک

سرعت و پایداری بالا و قدرت پردازش فوق‌العاده، نعمتی واقعی برای هر وب‌سایتی است. هاست پرسرعت و پایدار پارس پک به تنهایی از پس تمام وظایف سنگین کرون جاب و برنامه‌های مختلف شما برمی‌آید و خیالتان را از بابت عملکرد روان و بدون نقص وب‌سایتتان راحت می‌کند. برای آشنایی بیشتر با سرویس میزبانی ابری پارس پک به صفحه زیر مراجعه کنید.

جمع‌بندی

کرون جاب چیست؟ یک دستیار باهوش مثل Siri در سیستم‌های یونیکس است که کارهای تکراری را می‌توانید به او بسپارید تا به‌طور خودکار اجرا کند. در این مقاله از آموزش سیستم عامل بلاگ پارس پک، به‌طور کامل کاربرد و نحوه کار این برنامه را بررسی کردیم. در این زمینه اگر تجربه یا سوالی دارید، آن را می‌توانید در بخش نظرات با ما درمیان بگذارید. امیدواریم این مقاله راهنمای کاملی از نحوه کار و چیستی کرون جاب برای شما باشد. از اینکه تا انتهای مقاله همراه ما بودید، از شما ممنونیم.

سوالات متداول

۱. کرون جاب چیست؟

کرون جاب (Cron Job) ابزاری قدرتمند در سیستم‌عامل‌های یونیکس است که به شما امکان می‌دهد وظایف مختلف را به‌طور خودکار در زمان‌های مشخص اجرا کنید.

۲. چطور یک کرون جاب اجرا کنیم؟

  • با استفاده از SSH و نرم‌افزارهایی مانند PuTTY یا Terminal با دسترسی ریشه (root) به سرور خود وارد شوید.
  • با دستور crontab -e فایلی ایجاد کنید.
  • ویرایشگر مورد نظر خود را انتخاب کنید تا فایل را ببینید و اسکریپت کرون جاب خود را به فایل crontab اضافه کنید.
  • بعد از اتمام کار، فایل را ذخیره کنید تا اتوماسیون فعال شود.

۳. چگونه می‌توانم بفهمم کرون جاب به‌درستی اجرا شده است یا نه؟

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

۴. چگونه می‌توانم کرون جاب را حذف کنم؟

برای حذف کرون جاب می‌توانید از دستور crontab -r استفاده کنید.

منابع:cronitor.io

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


ارسال دیدگاه در وبلاگ پارس‌پک را مطالعه کرده و آن‌ها را می‌پذیرم.

با خدمات ابری پارس پک آشنا شوید

اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم