Cron چیست؟

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

- بخش اول نشانگر دقیقه است، یعنی اگر بخواهید عمل مشخصی را در زمان دقیقه انجام دهید، این بخش از دستور را مقدار می دهیم
- بخش دوم نشانگر ساعت است . برای مثال اگر بخواهیم در ساعت ۲ از سرور بک آپ تهیه شود، میبایست از دستور کرون جاب زیر استفاده کنیم: *user/local/cpanel/scripts/cpbackup/***2
- بخش سوم نشانگر تعداد روزهای ماه است. مثلا در صورتیکه بخواهیم در روز شانزدهم ماه و در ساعت ۳ و ۵۵ دقیقه عملیات بک آپ تهیه شود از دستور زیر استفاده می کنیم: user/local/cpanel/scripts/cpbackup/**16 3 55
البته شما می توانید این تنظیمات را به همراه خط دستور مربوطه در کنترل پنل سرویس هاستینگ خود نیز وارد کنید. برای این منظور برروی گزینه Cron Job کلیک کرده و در بخش Add New Cron Job مقادیر خود را وارد کنید.
ساختار و سینتکس Cron Job
هر خط از فایل CronTab شامل پنج بخش زمانبندی و سپس دستوری است که باید اجرا شود. این پنج بخش بهترتیب عبارتاند از: دقیقه، ساعت، روز ماه، ماه و روز هفته. با استفاده از کاراکتر ستاره (*) به معنای «هر مقدار» و اسلش (/) برای بازهها، میتوانید هر زمانبندی دلخواهی بسازید.
# ساختار هر خط CronTab
* * * * * command-to-run
# | | | | |
# | | | | +--- روز هفته (0 تا 6، یکشنبه=0)
# | | | +----- ماه (1 تا 12)
# | | +------- روز ماه (1 تا 31)
# | +--------- ساعت (0 تا 23)
# +----------- دقیقه (0 تا 59)مثالهای کاربردی Cron Job
در ادامه چند نمونه رایج از زمانبندی وظایف با Cron را میبینید. این مثالها روی هر هاست لینوکس با دسترسی به CronTab قابل استفاده هستند:
# اجرای اسکریپت پشتیبانگیری هر روز ساعت 2 بامداد
0 2 * * * /usr/bin/php /home/user/backup.php
# پاکسازی کش هر 5 دقیقه یکبار
*/5 * * * * /usr/bin/php /home/user/clear-cache.php
# ارسال گزارش هر دوشنبه ساعت 9 صبح
0 9 * * 1 /usr/bin/php /home/user/weekly-report.phpنحوه ایجاد Cron Job در هاست لینوکس (سیپنل)
در کنترلپنل سیپنل، از بخش Advanced گزینه Cron Jobs را باز کنید. سپس بازه زمانی (Common Settings) و دستور موردنظر (Command) را وارد کرده و روی Add New Cron Job کلیک کنید. اگر از هاست سی پنل استفاده میکنید، مدیریت کرانجابها بدون نیاز به خط فرمان و بهصورت گرافیکی انجام میشود.
دستورات مدیریت CronTab
crontab -e # ویرایش لیست کرانجابها
crontab -l # مشاهده کرانجابهای فعلی
crontab -r # حذف تمام کرانجابهاکاربردهای رایج Cron Job
Cron Job برای هر کاری که باید بهصورت زمانبندیشده و خودکار تکرار شود کاربرد دارد؛ از جمله: پشتیبانگیری خودکار پایگاهداده و فایلها، پاکسازی دورهای کش و فایلهای موقت، ارسال ایمیلها و خبرنامههای زمانبندیشده، بهروزرسانی فید و همگامسازی دادهها، و اجرای وظایف نگهداری وردپرس (wp-cron). استفاده صحیح از کرانجاب، بار پردازشی سرور را مدیریت کرده و پایداری سایت را افزایش میدهد.
سوالات متداول Cron Job
Cron Job چیست؟
Cron Job یک وظیفه زمانبندیشده در سیستمعاملهای لینوکس است که بهصورت خودکار در زمانهای مشخص اجرا میشود؛ برای مثال گرفتن بکاپ روزانه یا پاکسازی کش.
تفاوت Cron و CronTab چیست؟
Cron سرویس زمانبندی در لینوکس است و CronTab (Cron Table) فایلی است که فهرست وظایف زمانبندیشده و زمان اجرای آنها در آن تعریف میشود.
چگونه در هاست لینوکس کرانجاب بسازیم؟
در سیپنل از بخش Cron Jobs، بازه زمانی و دستور را وارد کنید؛ یا از طریق SSH با دستور crontab -e خطوط زمانبندی را اضافه کنید.
wp-cron وردپرس با Cron Job سرور چه تفاوتی دارد؟
wp-cron وابسته به بازدید سایت است و ممکن است دیر اجرا شود؛ با تعریف یک Cron Job واقعی روی سرور و غیرفعالکردن wp-cron داخلی، زمانبندی وظایف وردپرس دقیقتر و پایدارتر میشود.
برای آموزشهای بیشتر، کد تخفیفهای اختصاصی و اطلاع از جدیدترین مطالب، ما را در شبکههای اجتماعی دنبال کنید.




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