نکات کلیدی
- 01توضیحهای متن ساده این کار را راحت میکند که تأیید کنید وظیفة cron قبل از استقرار چهکار خواهد کرد.
- 025 زمان اجرای UTC بعدی به فرمت ISO-8601 برای تأیید ایمن منطقة زمانی فهرستشده است.
- 03از محدوده (1-5)، فهرست (1،3،5)، و مراحل (*/15) طبق قوانین Vixie-cron استاندارد پشتیبانی میکند.
- 04همه چیز در مرورگر شما اجرا میشود — بدون بکاند، بدون حساب کاربری، بدون درخواست شبکه.
چرا عبارات Cron برای اشتباه آسان است
سنتاکس Cron برای طراحی فشرده است، اما آن فشردگی آن را به طور شگفتانگیز آسان میکند برای برنامهریزی کار در زمان اشتباه. پشتیبان نیمهشب که در ظهر UTC اجرا میشود، عبارة مرحلهای که اوقات مورد انتظار را از دست میدهد، یا مقدار روز هفته که یک بند جلوتر است — این اشکالات سخت هستند در آن گاه تا کار خاموشی اجرا نشود. خواندن 0 */6 * * 1-5 بلند نمیدهد بسیار مگر اینکه ترتیب زمینه را از حافظه بدانید.
سازنده cron از Handytool این مشکل را با ترجمة هر عبارة معتبر در جملةای که میتواند خوانده شود حل میکند، سپس 5 بار بعدی را نشان میدهد که در UTC اجرا خواهد شد. اشتباه را قبل از رسیدن به تولید بگیرید، نه بعد از اینکه کار برنامةریزیشده در صبح دوشنبه ناموفق باشد.
نحوه ساخت و تأیید عبارة Cron
- 01
با تنظیم شاخص یا تایپ خود شروع کنید
تنظیمات از قبیل Every minute، Hourly، Daily at midnight و Weekly on Monday یک نقطة شروع صحیح میدهند. برای برنامة سفارشی به ورودی دستی تغییر دهید.
- 02
5 زمینة خود را وارد کنید
عبارة را در دقیقه ساعت روزماه ماه روز هفته به ترتیب تایپ کنید. سازنده هر حد زمینه را با تایپ تأیید میکند.
- 03
توضیح متن ساده را بخوانید
توضیح زنده بهروزرسانی میشود. جملة را تأیید کنید که با قصد شما تطابق دارد — مثلاً 'در :00 در هر 6ساعت، دوشنبه تا جمعه'.
- 04
5 زمان اجرای بعدی را بررسی کنید
اوقات آتی اجرا در UTC ISO-8601 فهرستشده است. برای تأیید موارد حاشیهای مانند مرز نهایتماه یا جبران منطقة زمانی استفاده کنید.
مرجع سریع سنتاکس Cron
تمام پنج زمینة این قوانین را دنبال میکنند:
- 01ستاره (*) معنی هر مقدار معتبر در زمینه
- 02اسلش (*/N) مرحلهای به عنوان افزایش از N است
- 03خطتیره (A-B) هر مقدار از A تا B شامل را تطابق میدهد
- 04کاما (A,B,C) فهرست خاص مقادیر را تطابق میدهد
- 05محدوده زمینة: دقیقه 0-59، ساعت 0-23، روز 1-31، ماه 1-12، روز هفته 0-6 (یکشنبه=0)
بدون نصب، بدون سرویدهنده
سازنده cron عبارات را تجزیه میکند و اوقات اجرای بعدی را به طور کامل در مرورگر شما با استفاده از JavaScript محاسبه میکند. هیچ چیزی به سرویدهنده ارسال نمیشود، بنابراین ثبتنام، سهمیه API، و تاخیر وجود ندارد. محاسبة اجرای بعدی از شبیهسازی تطابق دقیقة به دقیقه بر اساس قوانین Vixie-cron استاندارد است، که رویکرد مشابهی است برای توقفی که اکثر برنامةریزهای تولید استفاده میکنند.
عبارات 6 زمینه (با زمینة ثانیة پیش) و رشتههای خاص مانند @daily یا @weekly پشتیبانی نمیشوند. اکثر محیطهای تولید — از جمله خود cron، Kubernetes، و GitHub Actions — از فرم 5 زمینة استاندارد استفاده میکنند، بنابراین سازنده بر روی آن متمرکز است.
پرسشهای متداول سازنده عبارة Cron
کدام طعم cron این سازنده پشتیبانی میکند؟
Vixie-cron 5 زمینه استاندارد: دقیقه، ساعت، روزماه، ماه، روزهفته. اختصار @daily/@weekly و سنتاکس 6 زمینة ثانیه پشتیبانی نمیشوند، زیرا اکثر برنامةریزهای تولید از فرم 5 زمینة استفاده میکنند.
چرا اوقات اجرای بعدی در UTC نشان داده میشود؟
اکثر سیستمهای CI/CD و برنامةریزهای ابری عبارات cron را در UTC تفسیر میکنند. نمایش UTC پیشنمایش را قابل حمل نگاه میدارد و از نمایشهای میانفریب زمان محلی جلوگیری میکند.
تفاوت بین */15 و 0،15،30،45 در زمینة دقیقه چیست؟
هر دو هر 15 دقیقه اجرا میشوند. */15 از 0 شروع میشود و با 15 مرحلهای میکند، که معادل 0،15،30،45 است. برای زمینة ساعت، */6 معنی 0،6،12،18 است.
آیا میتوانم کاری را در روز نهایی ماه برنامةریزی کنم؟
Cron استاندارد هیچ توکن 'آخرین روز' ندارد. میتواند با 28-31 در زمینة روز تقریب کنید، اما برای رسیدگی به ماههای کوتاهتر از 31 روز تمیز، تاریخ را در داخل اسکریپت کار خود بررسی کنید.
آیا راهی برای اجرای کار هر روز کاری در 9 صبح وجود دارد؟
بله: 0 9 * * 1-5 در 09:00 UTC دوشنبه تا جمعه اجرا میشود. قبل از استقرار آن را در خروجی متن ساده سازنده و فهرست اجرای بعدی تأیید کنید.