توسعه‌دهنده 🔒 در مرورگر اجرا می‌شود — داده‌ای ارسال نمی‌شود

توضیح‌دهندهٔ عبارت Cron

هر عبارت cron را به زبان ساده و فیلد به فیلد بخوانید و دقیقاً ببینید دفعهٔ بعد کی اجرا می‌شود.

اجراهای بعدی

    توضیح‌دهندهٔ عبارت Cron — خط crontab شما واقعاً چه می‌گوید

    یک عبارت cron را بچسبانید و آن را به شکل یک جملهٔ ساده بخوانید، هر یک از پنج فیلد را جداگانه ببینید و زمان اجراهای بعدی را در منطقه زمانی خودتان یا در UTC بررسی کنید. این ابزار اشتباه‌هایی را می‌گیرد که باعث می‌شوند کاری در زمان نادرست اجرا شود: مقداری خارج از بازه، عبارتی شش‌فیلدی که از Quartz کپی شده، یا زمان‌بندی‌ای که هرگز رخ نمی‌دهد، مثل ۳۱ فوریه.

    Cron زمان‌بند پشت crontabهای لینوکس و macOS است و نحو آن در CronJobهای Kubernetes، GitHub Actions، GitLab CI و بیشتر زمان‌بندهای ابری هم به کار می‌رود. این نحو فشرده است و به‌راحتی اشتباه خوانده می‌شود؛ یک بررسی سریع اینجا جلوی کاری را می‌گیرد که به‌جای روزی یک بار، هر دقیقه اجرا می‌شود.

    روش استفاده

    1. یک عبارت cron را تایپ کنید یا بچسبانید، یا یکی را از زمان‌بندی‌های رایج انتخاب کنید.
    2. توضیح و پنج فیلد زیر آن را بخوانید.
    3. فهرست اجراهای بعدی را بررسی کنید؛ منطقه زمانی را میان همین دستگاه و UTC جابه‌جا کنید.
    4. اگر دور فیلدی قرمز شد، پیام بالای آن می‌گوید چه چیزی اشتباه است.

    پنج فیلد

    فیلدمقادیر مجازمثالمعنا
    دقیقه0–5930در دقیقهٔ ۳۰
    ساعت0–239-17از 09:00 تا 17:59
    روز ماه1–311,15روز اول و پانزدهم
    ماه1–12 یا JAN–DEC*/3ژانویه، آوریل، ژوئیه، اکتبر
    روز هفته0–6 یا SUN–SAT (7 = یکشنبه)1-5دوشنبه تا جمعه

    نویسه‌های ویژه

    • * یعنی همهٔ مقادیر فیلد.
    • , فهرست را جدا می‌کند: 1,15,30.
    • - بازه می‌سازد: 9-17.
    • / گام تعیین می‌کند: */15 یعنی هر پانزدهمین مقدار از کمترین، و 5/15 هر پانزدهمین مقدار از ۵.
    • ماکروها جای کل خط را می‌گیرند: @hourly، @daily، @weekly، @monthly، @yearly.

    دام روز ماه و روز هفته

    وقتی هر دو فیلد روز محدود شده باشند، cron استاندارد کار را در روزهایی اجرا می‌کند که با یکی از آن دو مطابقت دارند، نه با هر دو. 0 0 1 * 1 نیمه‌شبِ روز اول هر ماه و همچنین هر دوشنبه اجرا می‌شود. معمولاً انتظار می‌رود معنایش «دوشنبه‌هایی که روز اول ماه‌اند» باشد، که cron ساده نمی‌تواند بیانش کند. ابزار هر بار که هر دو فیلد تعیین شده باشند یادداشتی نشان می‌دهد، و فهرست اجراهای بعدی رفتار واقعی را آشکار می‌کند.

    منطقه‌های زمانی

    Cron از منطقه زمانی ماشین یا سرویسی استفاده می‌کند که آن را اجرا می‌کند. سرورها و زمان‌بندهای ابری مثل GitHub Actions معمولاً روی UTC کار می‌کنند، پس کاری که برای 09:00 نوشته شده ممکن است ساعت 09:00 به وقت UTC اجرا شود، که در بیشتر جاها ساعت دیگری است، و وقتی ساعت تابستانی در محل شما شروع یا تمام می‌شود یک ساعت جابه‌جا می‌شود. پیش از استقرار، اجراهای بعدی را در همین دستگاه و UTC مقایسه کنید تا تفاوت را ببینید.

    آنچه این ابزار پشتیبانی نمی‌کند

    • ثانیه: عبارت‌های شش و هفت فیلدی Quartz و Spring به‌جای اینکه اشتباه خوانده شوند، گزارش می‌شوند.
    • افزونه‌های غیراستانداردی مثل L، W و # که برخی زمان‌بندها اضافه می‌کنند.
    • @reboot که یک بار هنگام راه‌اندازی اجرا می‌شود و زمان بعدی ندارد.

    ابزارهای مرتبط

    برای تبدیل زمان یک اجرا به تایم‌استمپ یونیکس یا برعکس، از مبدل تایم‌استمپ استفاده کنید. صفحه‌های کاربردی این ابزار را با یک زمان‌بندی رایج باز می‌کنند: هر ۵ دقیقه، هر ساعت و هر روز نیمه‌شب.