Cron Job چیست؟

Cron Job چیست؟ + آموزش راه اندازی Cron Job

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

فهرست مطالب

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

تا به حال به غذا خوردن فکر کرده‌اید؟ کاری تکراری که هر روز انجامش می‌دهیم و عملا هیچ راهی برای حذف آن وجود ندارد؛ با این تفاوت که غذا خوردن لذت بخش است! اما خوشبختانه برای بسیاری از کارهای تکراری و خسته کننده دیگر، راه حل‌هایی وجود دارند که می‌توانند این بار را از دوش ما بردارند، مثل Cron Job.

Cron Job چیست؟

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

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

اجزای تشکیل دهنده Cron Job

  • عملگرها: در کرون جاب می‌توان دقیقه، ساعت، روز ماه، روز هفته و ماه را تعیین کرد. کاراکترهای * و / در تعریف زمان نقش دارند.
  • پیکربندی: دستور crontab، امکان مدیریت زمان بندی‌ها و قرار دادن اسکریپت‌ها در دایرکتوری مشخص را می‌دهد.
  • مجوزها: امنیت این سیستم توسط فایل‌های cron.allow و cron.deny حفظ می‌شود.

crontab زمان بندی اجرای کارها را مشخص می‌کند، crond (daemon) به صورت مداوم این زمان بندی را بررسی کرده و در زمان مقرر آن‌ها را اجرا می‌کند، و در نهایت command یا script وظیفه اصلی را انجام می‌دهد.

				
					MAILTO=exemple.recepteur@mail.fr
30 5 * * * /usr/local/bin/path/test.php
				
			

ویژگی‌های Cron Job

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

محدودیت‌های Cron Job

  • اجرای مجدد خودکار نمی‌توان برای آن قرار داد.
  • به صورت پیش فرض نمی‌تواند لاگ گیری کند و باید آن را تنظیم کرد.
  • Cron Job به یک سرور وابسته است و در صورت کرش، وظایف انجام نمی‌شوند.

مقایسه Cron با n8n

n8n یک سرویس خودکارسازی وظایف است که به کاربران اجازه می‌دهد با رابط گرافیکی ساده و بدون نیاز به کدنویسی پیچیده، زنجیره‌های هوشمندی از اقدامات را بسازند؛ از زمان بندی وظایف تکراری گرفته تا اتصال APIها، شرط گذاری، مدیریت خطا و ارسال اعلان‌های خودکار. برخلاف cron job سنتی که فقط یک دستور را در زمان مشخص اجرا می‌کند، n8n شکست‌ها را تشخیص می‌دهد، retry می‌کند، لاگ دقیق نگه می‌دارد و نتایج را به راحتی با تیم به اشتراک می‌گذارد. اگر به فکر اتوماسیون سازی وظایف هستید، بهتر است از سرویس ابری n8n پویان آی تی، با کمترین قیمت و بهترین کیفیت استفاده کنید.

ویژگی کلیدیCron Job سنتی (crontab)n8n (Schedule Trigger)برنده معمول
دقت زمان بندیحداقل ۱ دقیقه (cron expression)حداقل ۱ دقیقه (Cron) + Interval دلخواه (ثانیه+)n8n
رابط کاربریفقط خط فرمانگرافیکی drag-and-drop + تست آسانn8n
پیچیدگی workflowفقط یک دستور سادهشرط، شاخه، حلقه، merge ،retry بومیn8n
لاگ و نظارتضعیف (دستی)کامل + تاریخچه + Monitor tabn8n
مدیریت خطا / Retryندارد (دستی در اسکریپت)بومی + Error Workflow + Alert خودکارn8n
اطلاع رسانی شکستمعمولا ندارد.Slack/Email/Telegram آسانn8n
ادغام خارجی (API و …)دستی (curl و …)۴۰۰+ نود آماده + Code noden8n
مصرف منابعخیلی سبکسنگین‌تر (Node.js + UI)Cron
مناسب سرور اشتراکیعالیمعمولا خیر (نیاز به VPS/Cloud)Cron
نگهداری تیمی / دیباگسخت (پراکنده)عالی (JSON، نسخه بندی، share)n8n
هزینه self-hostedرایگانرایگان (ولی سرور می‌خواهد) + Cloud پولیبرابر

Cron Job چطور کار می‌کند؟

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

ابتدا کاربران وظایف و زمان انجام آنها را در فایل crontab تعریف می‌کنند. سرویس پس زمینه cron daemon دائم فعال است و دستوراتی که در فایل‌های crontab وجود دارند را می‌خواند و اجرا می‌کند. با این کار وظایف تکراری بدون این که شما متوجه شوید در پس زمینه سیستم انجام می‌شوند. 

در ادامه، برای برقراری اتصال امن به سرور از طریق کلاینت‌های امن از SSH یا Telnet استفاده می‌شود. همچنین برنامه‌های FTP برای بارگذاری و انتقال فایل‌ها و اسکریپت‌ها روی سرور کاربرد دارند.

آموزش اجرای Cron Job

برای راه اندازی Cron Job، ابتدا باید ساختار Syntax را مشخص کنید. 

				
					minute hour day_of_month month day_of_week command
				
			

در این قسمت باید 5 فیلد زمانی را مشخص کنید. 

  • دقیقه 0 تا 59
  • ساعت 0 تا 23
  • روز 1 تا 31
  • روز هفته 0 تا 7 (0 و 7 نشان دهنده یکشنبه هستند.)
  • ماه 1 تا 12

قدم بعدی عملگرها هستند.

  • * همه مقادیر
  • ‘ چند مقدار
  • – بازه زمانی
  •  / تقسیم بازه زمانی

در این قسمت نمونه‌هایی از Syntax رو مشاهده می‌کنید.

				
					0 0 * * 0 /root/backup.sh
0 6,18 * * * /root/backup.sh
*/15 * * * * /root/backup.sh
0 * * * 1 /root/clearcache.sh
				
			

راه اندازی Cron Job

  • ورود به سرور محلی
  • نصب cron: برای بررسی نصب آن می‌توانید از دستور زیر استفاده کنید.
				
					systemctl status cron

				
			
  • ایجاد یک crontab
				
					crontab -e
				
			
  • ایجاد دسترسی root
				
					sudo crontab -e
				
			
  • حذف یک وظیفه
				
					crontab -r
crontab -ri  
				
			

کلام آخر

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

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

Cron Job در سیستم عامل‌های مبتنی بر یونیکس مانند Linux و macOS قابل استفاده است و به صورت پیش فرض روی اکثر سرورها فعال است.

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

منابع

  • https://www.hivelocity.net/kb/what-is-cron-job/
  • https://www.hostinger.com/tutorials/cron-job
  • https://www.cloudpanel.io/blog/what-is-a-cron-job-how-to-use-it-via-cloudpanel/

به این مقاله امتیاز دهید!

میانگین امتیاز 0 / 5. تعداد رأی ها : 0

هنوز هیچ رأیی داده نشده. اولین نفر باشید!

و در ادامه بخوانید

اولین دیدگاه را اضافه کنید.

    برچسب ها

    VPS یونیکس