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

یک زمان‌بندی crontab را با چند کلیک بسازید یا عبارت موجود را جای‌گذاری کنید. توضیح به زبان ساده، اعتبارسنجی هر فیلد و 10 زمان اجرای بعدی را در منطقهٔ زمانی خود می‌بینید.

اجرا در مرورگر شمابدون ثبت‌نامبدون آپلود

دقیقهساعتروز (ماه)ماهروز (هفته)

سازندهٔ بصری

10 اجرای بعدی

    نحوهٔ استفاده از سازندهٔ عبارت Cron

    1. یک عبارت cron مانند */15 * * * * تایپ کنید یا روی یکی از پیش‌تنظیم‌ها کلیک کنید.
    2. توضیح به زبان ساده را بخوانید تا مطمئن شوید همان کاری را می‌کند که انتظار دارید. فیلدهای نامعتبر همراه با دلیل برجسته می‌شوند.
    3. با تب‌های سازندهٔ بصری دقیقه، ساعت، روز ماه، ماه و روز هفته را با گزینه‌های هر، هر N، مشخص یا بازه تنظیم کنید.
    4. 10 زمان اجرای بعدی را بررسی کنید و اگر منطقهٔ زمانی سرور با شما فرق دارد، آن را انتخاب کنید.
    5. عبارت را در crontab، CronJob در Kubernetes، schedule در GitHub Actions یا پیکربندی CI کپی کنید.

    سینتکس cron در یک دقیقه

    یک عبارت cron استاندارد پنج فیلد دارد که با فاصله از هم جدا می‌شوند:

    ┌───────────── minute (0-59)
    │ ┌─────────── hour (0-23)
    │ │ ┌───────── day of month (1-31)
    │ │ │ ┌─────── month (1-12 or JAN-DEC)
    │ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 are Sunday)
    │ │ │ │ │
    * * * * *  command
    نمادمعنامثال
    *هر مقدار* * * * * هر دقیقه
    ,فهرست0 9,17 * * * ساعت 09:00 و 17:00
    -بازه0 9 * * 1-5 روزهای کاری ساعت 09:00
    /گام*/10 * * * * هر 10 دقیقه
    @dailyماکرومعادل 0 0 * * *؛ همچنین @hourly، @weekly، @monthly، @yearly، @reboot

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

    وقتی هر دو فیلد روز محدود شده باشند (هیچ‌کدام با * شروع نشود)، cron زمانی اجرا می‌شود که هر یک از آن‌ها برقرار باشد. بنابراین 0 0 13 * 5 در هر روز 13 ماه و هر جمعه اجرا می‌شود، نه فقط در جمعه‌های 13ام. این سازنده از همین قاعدهٔ Vixie cron پیروی می‌کند و در توضیح از «یا» استفاده می‌کند تا متوجه آن شوید.

    منطقهٔ زمانی و ساعت تابستانی

    cron از منطقهٔ زمانی محلی سرور استفاده می‌کند، مگر اینکه طور دیگری پیکربندی شده باشد (CRON_TZ= در برخی نسخه‌های cron، timeZone در CronJobهای Kubernetes؛ GitHub Actions همیشه از UTC استفاده می‌کند). همان منطقه را در پیش‌نمایش اجراها انتخاب کنید. کارهایی که در شکاف ساعت تابستانی زمان‌بندی شده‌اند (مثلاً 02:30 در شب جلو کشیدن ساعت) در پیش‌نمایش حذف می‌شوند، چون آن زمان محلی هرگز رخ نمی‌دهد.

    زمان‌بندی‌های رایج

    • */5 * * * *: هر 5 دقیقه
    • 0 */2 * * *: هر 2 ساعت، سر ساعت
    • 0 9 * * 1-5: ساعت 09:00 در روزهای کاری
    • 0 0 1 * *: نیمه‌شب اولین روز هر ماه
    • 0 3 * * 0: ساعت 03:00 هر یکشنبه، بازهٔ رایج برای پشتیبان‌گیری

    پرسش‌های متداول

    چطور یک cron job را هر 5 دقیقه اجرا کنم؟
    از */5 * * * * استفاده کنید. گام /5 در فیلد دقیقه یعنی هر پنج دقیقه با شروع از 0: دقیقه‌های 00، 05، 10 و به همین ترتیب.
    آیا cron از ثانیه پشتیبانی می‌کند؟
    crontab استاندارد خیر؛ کوچک‌ترین واحد یک دقیقه است. Quartz، Spring و برخی زمان‌بندهای ابری یک فیلد ثانیه اضافه می‌کنند (6 یا 7 فیلد). این ابزار قالب استاندارد 5 فیلدی را اعتبارسنجی می‌کند و اگر 6 فیلد ببیند به شما اطلاع می‌دهد.
    یکشنبه 0 است یا 7؟
    هر دو. در فیلد روز هفته، 0 و 7 هر دو به معنای یکشنبه‌اند و می‌توانید نام‌هایی مانند SUN یا MON-FRI هم بنویسید.
    چرا کار من در روزهای بیشتری از انتظار اجرا می‌شود؟
    اگر هم روز ماه و هم روز هفته را محدود کرده باشید، cron وقتی اجرا می‌شود که هر یک برقرار باشد. یکی از آن‌ها را روی * بگذارید تا فقط دیگری شرط باشد.
    زمان‌های اجرای بعدی در کدام منطقهٔ زمانی هستند؟
    به‌طور پیش‌فرض در منطقهٔ زمانی مرورگر شما. منطقهٔ سرور خود (اغلب UTC) را از فهرست انتخاب کنید تا دقیقاً ببینید کار چه زمانی آنجا اجرا می‌شود.

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