مبدل رایگان

بیان کرون ژنراتور

عبارات cron را فوراً در مرورگر خود تولید، توضیح و تأیید کنید. سازنده بصری و تجزیه کننده بیان - رایگان، خصوصی و سمت مشتری.

بیان کرون
0 */6 * * *
توضیحات قابل خواندن برای انسان
Every minute
5 اجرای برنامه ریزی شده بعدی
Calculating...

درباره این ابزار

عبارات کرون پنج (یا شش، بسته به سیستم) فیلدهای جدا شده از فضا هستند که یک برنامه را توصیف می کنند: دقیقه، ساعت، روز از ماه، ماه و روز هفته. هر فیلد مقادیر عددی، محدوده‌ها، لیست‌ها، افزایش‌ها و حروف عام را می‌پذیرد. Cron از اواخر دهه 1970 فرمت زمان‌بندی یونیکس بود و اکنون بسیار فراتر از یونیکس مورد استفاده قرار می‌گیرد - توسط Kubernetes CronJobs، GitHub Actions، قوانین AWS EventBridge، مشاغل Jenkins و تقریباً هر سیستم زمان‌بندی دیگر در حال تولید.

خواندن و نوشتن عبارات cron با دست مستعد خطا است. فیلدها موقعیتی هستند، تعامل روز از ماه و روز هفته غیر واضح است (مقدار در هر یک از زمینه ها کار را آغاز می کند، نه هر دو)، و اشتباهات بی سر و صدا برنامه هایی را ایجاد می کنند که درست به نظر می رسند، اما در زمان های اشتباه شلیک می شوند. یک ژنراتور که برنامه‌های زمانی ساده به انگلیسی را به نحو صحیح cron ترجمه می‌کند از این اشتباهات جلوگیری می‌کند.

این ابزار دو جهت را ارائه می دهد: ایجاد یک عبارت cron از یک فرم دوستانه (هر دوشنبه در ساعت 9 صبح، هر 5 دقیقه در ساعات کاری)، و توضیح یک عبارت cron موجود به زبان انسانی. هر دو در مرورگر شما بدون هیچ گونه تعامل با سرور اجرا می شوند.

چرا از یک Cron Generator استفاده کنیم؟

نحو Cron متراکم و نابخشودنی است. اشتباهات رایج عبارتند از گیج‌کننده شماره‌گذاری روزهای هفته (یکشنبه بسته به سیستم 0 یا 7 است)، فراموش کردن استفاده از معنایی OR در روز از ماه و روز هفته، و درک نادرست نحو افزایشی (*/5 یعنی هر 5 که از 0 شروع می‌شود). یک مولد اینها را با ساخت پیدا می کند - عبارات تولید شده با آنچه در فرم توضیح داده اید مطابقت دارند.

خواندن عبارات موجود به همان اندازه سخت است. برنامه ای مانند 0 9 * * 1-5 مانند هر روز هفته در ساعت 9 صبح زمانی که نحو را بدانید خوانده می شود، اما هرکسی که با cron آشنا نیست باید هر فیلد را جستجو کند. توضیح بیان به زبان انسانی سریعتر از یادگیری نحو برای تعاملات یکباره است.

نحوه استفاده

یک الگوی برنامه را انتخاب کنید، عبارت cron را دریافت کنید.

  1. حالت تولید را انتخاب کنید: یک عبارت cron را از ورودی های فرم (فرکانس، زمان، روز) بسازید یا یک عبارت موجود را به زبان انسانی توضیح دهید.
  2. برنامه را پیکربندی کنید: فرکانس را انتخاب کنید (هر دقیقه، هر ساعت، هر روز، هر هفته، هر ماه، سفارشی). در صورت نیاز زمان، روز و فواصل زمانی را مشخص کنید. فرم ورودی ها را به ترکیبات معتبر محدود می کند.
  3. ایجاد یا توضیح دهید: Generation سینتکس cron استاندارد (5 فیلد) را تولید می کند. توضیح هر زمینه را تجزیه می کند و خلاصه ای قابل خواندن برای انسان ارائه می دهد.
  4. در زمانبندی خود استفاده کنید: عبارت تولید شده را در مشخصات Kubernetes CronJob، برنامه GitHub Actions، AWS EventBridge یا زمان‌بندی پلتفرم خود جای‌گذاری کنید.

موارد استفاده رایج

جزئیات فنی

cron استاندارد پنج فیلد دارد: دقیقه (0-59)، ساعت (0-23)، روز ماه (1-31)، ماه (1-12)، روز هفته (0-6 یا 0-7، هر دو یکشنبه). هر فیلد یک مقدار واحد، لیست جدا شده با کاما، محدوده با خط فاصله، افزایش با / یا علامت عام با * را می پذیرد.

معنای روز از ماه و روز هفته استفاده از OR: اگر هر کدام روی یک مقدار غیر عام تنظیم شده باشد، کار زمانی اجرا می شود که یکی از آنها مطابقت داشته باشد. این غیر منطقی است اما با رفتار cron POSIX مطابقت دارد. تنظیم هر دو فیلد یک برنامه زمانی گسترده تر ایجاد می کند، نه یک برنامه محدودتر.

برنامه های افزودنی بسته به اجرا متفاوت است. برخی یک میدان ششم را برای ثانیه می پذیرند (کوارتز، بهار). برخی قبول می کنند؟ به عنوان جایگزین حروف عام. برخی از آنها عبارتند از @yearly، @monthly، @daily میانبر. ژنراتور کرون 5 میدانی استاندارد تولید می کند که برای اکثر سیستم ها مناسب است.

بهترین شیوه ها

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

فرمت عبارت cron چیست؟
cron استاندارد از 5 فیلد استفاده می کند: دقیقه (0-59)، ساعت (0-23)، روز ماه (1-31)، ماه (1-12)، روز هفته (0-7، جایی که 0 و 7 یکشنبه هستند). کاراکترهای ویژه: * (هر)،، (لیست)، - (محدوده)، / (مرحله).
چگونه یک کار را طوری تنظیم کنم که هر 5 دقیقه یکبار اجرا شود؟
از */5 در فیلد دقیقه استفاده کنید: '*/5 * * * *'. /5 به معنای "هر پنجمین مقدار" است. به طور مشابه، */15 = هر 15 دقیقه، */2 = هر 2 دقیقه.
cron از چه منطقه زمانی استفاده می کند؟
Cron معمولاً از منطقه زمانی سیستم استفاده می کند. در سرورهای لینوکس، این معمولاً UTC است مگر اینکه پیکربندی دیگری انجام شود. سرویس های ابری (AWS، GCP) اغلب به صورت پیش فرض UTC هستند. همیشه تنظیمات منطقه زمانی سیستم خود را بررسی کنید.
آیا این همان قالبی است که توسط GitHub Actions استفاده می شود؟
GitHub Actions از همان قالب 5 فیلدی استفاده می کند اما در منطقه زمانی UTC اجرا می شود. AWS CloudWatch و Kubernetes CronJobs نیز از این قالب استفاده می کنند. برخی از سیستم ها مانند کوارتز از فرمت میدانی توسعه یافته 6-7 با ثانیه استفاده می کنند.
تفاوت بین 0 در روز هفته و 7 چیست؟
هر دو به معنای یکشنبه است. کرون POSIX 0-6 یا 0-7 را می پذیرد. از هر کدام که پیاده سازی cron خاص شما ترجیح می دهد استفاده کنید. اکثرا هر دو را قبول دارند
آیا توضیح دهنده برای کرون غیر استاندارد دقیق است؟
این کرون استاندارد 5 میدانی را هدف قرار می دهد. پسوندهای کوارتز (با ثانیه)، انواع AWS EventBridge و دیگر گویش‌ها ممکن است به درستی تجزیه نشوند. با اسناد سیستم مقصد تأیید کنید.
آیا عبارت من به سرور ارسال می شود؟
نه. تولید و توضیح در مرورگر شما اتفاق می افتد.
در مورد میانبرهای @yearly، @ ماهانه چطور؟
پیاده سازی های رایج cron از @yearly، @monthly، @weekly، @daily، @hourly، و @ reboot به عنوان میانبر برای برنامه های معمول پشتیبانی می کنند. ژنراتور عبارات استاندارد 5 میدانی را تولید می کند. اگر زمان‌بندی شما آنها را بپذیرد، می‌توانید به صورت دستی میانبرها را جایگزین کنید.