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

Cron چیست؟

cron چیست

خرید هاست

Cron یکی از قابلیت‌ها/سرویس‌هایی در سرور لینوکس است که وظیفه اجرای برنامه های مشخص شده ای را در زمان های تعریف شده برعهده دارد. به عبارت بهتر، با Cron Jobs شما امکان تعریف زمان اجرا برای برنامه هایی که قصد دارید به صورت دوره ای اجرا شوند را دارید.

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

فایل CronTab

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

فایل cron tab

  1. بخش اول نشانگر دقیقه است، یعنی اگر بخواهید عمل مشخصی را در زمان دقیقه انجام دهید، این بخش از دستور را مقدار می دهیم
  2. بخش دوم نشانگر ساعت است . برای مثال اگر بخواهیم در ساعت ۲ از سرور بک آپ تهیه شود،  میبایست از دستور کرون جاب زیر استفاده کنیم: *user/local/cpanel/scripts/cpbackup/***2
  3. بخش سوم نشانگر تعداد روزهای ماه است. مثلا در صورتیکه بخواهیم در روز شانزدهم ماه  و در ساعت ۳ و ۵۵ دقیقه عملیات بک آپ تهیه شود از دستور زیر استفاده می کنیم: 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هاست لینوکس وب‌رمز با مدیریت آسان کران‌جاب در سی‌پنل، دسترسی SSH و پشتیبانی فارسی

خرید هاست لینوکس وب‌رمز

سوالات متداول 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 داخلی، زمان‌بندی وظایف وردپرس دقیق‌تر و پایدارتر می‌شود.

بهزاد ناطق
بهزاد ناطقبنیان‌گذار و مدیرعامل

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

وب‌رمز را دنبال کنید

برای آموزش‌های بیشتر، کد تخفیف‌های اختصاصی و اطلاع از جدیدترین مطالب، ما را در شبکه‌های اجتماعی دنبال کنید.