Penjana & Penerang Ungkapan Cron

Bina jadual crontab dengan beberapa klik atau tampal jadual sedia ada. Anda mendapat penerangan dalam bahasa mudah, pengesahan setiap medan dan 10 masa larian seterusnya dalam zon waktu anda.

Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik

minitjamhari (bulan)bulanhari (minggu)

Pembina visual

10 larian seterusnya

    Cara menggunakan Penjana Ungkapan Cron

    1. Taip ungkapan cron seperti */15 * * * *, atau klik pratetap.
    2. Baca penerangan dalam bahasa mudah untuk memastikan ia melakukan apa yang anda jangka. Medan tidak sah diserlahkan beserta sebabnya.
    3. Guna tab Pembina visual untuk menetapkan minit, jam, hari dalam bulan, bulan dan hari dalam minggu dengan Setiap, Setiap N, Khusus atau Julat.
    4. Semak 10 masa larian seterusnya, dan pilih zon waktu pelayan jika ia berbeza daripada zon anda.
    5. Salin ungkapan itu ke crontab, Kubernetes CronJob, schedule GitHub Actions atau konfigurasi CI anda.

    Sintaks cron dalam satu minit

    Ungkapan cron standard mempunyai lima medan yang dipisahkan oleh ruang:

    ┌───────────── 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
    SimbolMaksudContoh
    *setiap nilai* * * * * setiap minit
    ,senarai0 9,17 * * * pada 09:00 dan 17:00
    -julat0 9 * * 1-5 hari bekerja pada 09:00
    /langkah*/10 * * * * setiap 10 minit
    @dailymakrosama seperti 0 0 * * *; juga @hourly, @weekly, @monthly, @yearly, @reboot

    Perangkap hari dalam bulan / hari dalam minggu

    Apabila kedua-dua medan hari dihadkan (tiada yang bermula dengan *), cron berjalan apabila salah satu sepadan. Oleh itu 0 0 13 * 5 berjalan pada setiap 13hb dan setiap Jumaat, bukan hanya pada Jumaat 13hb. Penjana ini mengikut peraturan Vixie cron tersebut, dan penerangannya menyebut “atau” supaya anda perasan.

    Zon waktu dan waktu jimat siang

    Cron menggunakan zon waktu tempatan pelayan melainkan dikonfigurasi sebaliknya (CRON_TZ= dalam sesetengah cron, timeZone dalam Kubernetes CronJob; GitHub Actions sentiasa menggunakan UTC). Pilih zon itu dalam pratonton larian. Tugas yang dijadualkan dalam jurang waktu jimat siang (contohnya 02:30 pada malam jam dicepatkan) dilangkau dalam pratonton, kerana waktu tempatan itu tidak pernah berlaku.

    Jadual biasa

    • */5 * * * *: setiap 5 minit
    • 0 */2 * * *: setiap 2 jam, tepat pada jamnya
    • 0 9 * * 1-5: 09:00 pada hari bekerja
    • 0 0 1 * *: tengah malam pada hari pertama setiap bulan
    • 0 3 * * 0: 03:00 setiap Ahad, tetingkap sandaran yang lazim

    Soalan lazim

    Bagaimana untuk menjalankan cron job setiap 5 minit?
    Guna */5 * * * *. Langkah /5 pada medan minit bermaksud setiap minit ke-5 bermula dari 0: 00, 05, 10 dan seterusnya.
    Adakah cron menyokong saat?
    Crontab standard tidak; unit terkecil ialah satu minit. Quartz, Spring dan sesetengah penjadual awan menambah medan saat (6 atau 7 medan). Alat ini mengesahkan format standard 5 medan dan memberitahu anda apabila ia melihat 6 medan.
    Adakah Ahad 0 atau 7?
    Kedua-duanya. Dalam medan hari dalam minggu, 0 dan 7 kedua-duanya bermaksud Ahad, dan anda juga boleh menulis nama seperti SUN atau MON-FRI.
    Mengapa tugas saya berjalan pada lebih banyak hari daripada yang dijangka?
    Jika anda menghadkan kedua-dua hari dalam bulan dan hari dalam minggu, cron berjalan apabila salah satu sepadan. Tetapkan salah satu kepada * supaya hanya yang satu lagi diperlukan.
    Dalam zon waktu manakah masa larian seterusnya?
    Zon waktu pelayar anda secara lalai. Pilih zon pelayan anda (selalunya UTC) daripada senarai untuk melihat dengan tepat bila tugas itu dijalankan di sana.

    Alat berkaitan