Penghurai Ungkapan Cron

Penghurai ungkapan cron kami menterjemahkan jadual cron kepada bahasa biasa dan mengira masa pelaksanaan yang akan datang. Tampal sebarang ungkapan cron dan lihat serta-merta maksudnya, bila ia akan berjalan seterusnya, dan sama ada sintaksnya sah. Menyokong format crontab standard 5 medan (minit, jam, hari, bulan, hari dalam seminggu), format lanjutan 6 medan dengan saat, dan pratetap biasa seperti @daily, @hourly, @weekly. Semua pemprosesan berlaku dalam pelayar anda.

star 4.9
auto_awesome AI
New

Penghurai Cron calculator

Presets:
*/5 * * * *
MIN HOUR DOM MON DOW
0-59 0-23 1-31 1-12 0-6
translate
Human Readable
Every 5 minutes

Field Breakdown

Next 10 Execution Times

lightbulb Tips

  • */5 = every 5, using the step operator
  • 0 = Sunday, 1 = Monday ... 6 = Saturday
  • @daily, @hourly, @weekly are handy shortcuts
  • Always test cron before deploying

How to Use the Penghurai Cron

edit

Masukkan Ungkapan

Taip atau tampal ungkapan cron (5 atau 6 medan). Gunakan pratetap untuk jadual biasa.

translate

Baca Penerangan

Lihat terjemahan yang mudah dibaca manusia tentang perkara yang dilakukan oleh ungkapan cron anda.

schedule

Semak Larian Seterusnya

Lihat 10 masa pelaksanaan seterusnya untuk mengesahkan jadual anda betul.

build

Bina Ungkapan

Gunakan pembina interaktif untuk mencipta ungkapan cron baharu dari awal.

The Formula

Ungkapan cron ialah takrifan jadual menggunakan 5 medan yang dijarakkan dengan ruang: minit (0-59), jam (0-23), hari bulan (1-31), bulan (1-12), dan hari dalam seminggu (0-6, dengan 0=Ahad). Setiap medan boleh menggunakan kad bebas (*), julat (1-5), senarai (1,3,5), dan nilai langkah (*/5). Sesetengah sistem menyokong medan ke-6 (saat) pada permulaan.

┌───────────── minute (0-59) │ ┌───────────── hour (0-23) │ │ ┌───────────── day of month (1-31) │ │ │ ┌───────────── month (1-12) │ │ │ │ ┌───────────── day of week (0-6, Sun=0) * * * * *

lightbulb Variables Explained

  • * Sebarang nilai (kad bebas)
  • , Pemisah senarai nilai (cth., 1,3,5)
  • - Julat nilai (cth., 1-5)
  • / Nilai langkah (cth., */5 = setiap 5)

tips_and_updates Pro Tips

1

*/5 * * * * bermaksud setiap 5 minit — tanda / ialah pengendali langkah

2

0 0 * * 0 berjalan pada tengah malam setiap Ahad (hari 0 = Ahad dalam kebanyakan sistem)

3

Gunakan @daily, @hourly, @weekly, @monthly sebagai jalan pintas untuk jadual biasa

4

Hari dalam seminggu: 0=Aha, 1=Isn, 2=Sel, 3=Rab, 4=Kha, 5=Jum, 6=Sab

5

Kedua-dua hari-dalam-bulan dan hari-dalam-seminggu tidak boleh spesifik secara serentak dalam cron standard

6

Nama bulan (JAN-DEC) dan nama hari (SUN-SAT) berfungsi dalam banyak pelaksanaan cron

7

Sentiasa uji ungkapan cron sebelum melakukan deployment — ralat off-by-one adalah perkara biasa

Penghurai ungkapan cron percuma kami menterjemahkan jadual cron kepada teks yang boleh dibaca manusia dan menunjukkan masa pelaksanaan yang akan datang. Sahkan sintaks cron, fahami setiap medan, dan semak jadual anda sebelum melancarkan. Menyokong format cron standard 5 medan dan lanjutan 6 medan.

Penghurai Ungkapan Cron - Terjemah Cron kepada Bahasa Inggeris

Tampal sebarang ungkapan cron dan lihat serta-merta maksudnya dalam bahasa biasa. Penghurai kami memecahkan setiap medan (minit, jam, hari, bulan, hari bekerja) dan menerangkan jadual tersebut.

Menyokong:

  • kad bebas (*)
  • julat (1-5)
  • senarai (1,3,5)
  • langkah (*/5)
  • nilai bernama (ISN-JUM, JAN-DIS)

Kalkulator Jadual Cron - Masa Larian Seterusnya

Lihat tepat apabila kerja cron anda akan dilaksanakan seterusnya. Kalkulator kami menunjukkan 10 masa larian seterusnya dengan tarikh dan cap waktu, supaya anda boleh mengesahkan jadual anda betul sebelum melancarkan ke pengeluaran.

Jangan sekali-kali melancarkan jadual cron yang salah lagi.

Bagaimanakah Ungkapan Cron Berfungsi?

Ungkapan cron berfungsi dengan memadankan masa semasa dengan corak lima medan yang dijarakkan ruang:

  • minit
  • jam
  • hari bulan
  • bulan
  • hari dalam seminggu

Daemon cron (crond) terjaga setiap minit dan menjalankan sebarang kerja yang medannya sepadan dengan jam semasa, seperti yang diterangkan dalam spesifikasi crond POSIX dan halaman manual crond(5) Linux. Setiap medan menerima kad bebas (*) untuk "sebarang nilai," berserta julat, senarai dan pengendali langkah.

Vixie cron, pelaksanaannya yang digunakan secara meluas pada kebanyakan pengedaran Linux, mengikut kelakuan ini. Memahami bahawa cron menilai minit demi minit menerangkan sebab cron tidak boleh menjadualkan tugas secara natif pada selang sub-minit tanpa medan saat.

Apakah Maksud Lima Medan Cron?

Lima medan cron, dibaca dari kiri ke kanan, ialah:

  • minit (0-59)
  • jam (0-23)
  • hari bulan (1-31)
  • bulan (1-12)
  • hari dalam seminggu (0-6, di mana 0 ialah Ahad)

Susunan ini mentakrifkan oleh piawaian POSIX (IEEE Std 1003.1) dan didokumenkan dalam halaman manual crond(5) yang diselenggara di man7.org. Medan bulan dan hari bekerja juga menerima singkatan tiga huruf seperti JAN hingga DIS dan AHD hingga SAB dalam kebanyakan pelaksanaan.

Peraturan POSIX utama: apabila hari bulan dan hari dalam seminggu disekat (tiada yang bertanda *), cron menjalankan kerja jika salah satu medan sepadan, bukan kedua-duanya. Kelakuan ATAU (OR) ini mengejutkan ramai pembangun dan menyebabkan pelaksanaan tambahan yang tidak dijangka.

Cara Menggunakan Pengendali Langkah, Julat dan Senarai Cron

Pengendali langkah, julat dan senarai cron membolehkan anda menyatakan jadual kompleks secara padat.

  • Julat seperti 1-5 bermaksud nilai berturutan (Isnin hingga Jumaat dalam medan hari bekerja).
  • Senarai seperti 1,3,5 sepadan dengan nilai tertentu sahaja.
  • Langkah seperti */15 dalam medan minit bermaksud "setiap 15 minit" (0, 15, 30, 45), dan langkah boleh bergabung dengan julat, seperti dalam 0-30/10.

Pengendali ini didokumenkan dalam manual crond(5) dan kod sumber Vixie cron. Sebagai contoh, */5 9-17 * * 1-5 mencetuskan setiap lima minit antara 9 Pagi dan 5 Petang pada hari bekerja.

Menggabungkan pengendali memastikan baris crond boleh dibaca sambil merangkumi tetingkap berulang yang rumit.

Apakah Rentetan Istimewa Cron Seperti @daily dan @reboot?

Rentetan istimewa cron ialah pintasan bernama yang menggantikan sintaks lima medan untuk jadual biasa.

  • @yearly (atau @annually) sama dengan 0 0 1 1 *
  • @monthly sama dengan 0 0 1 * *
  • @weekly sama dengan 0 0 * * 0
  • @daily (atau @midnight) sama dengan 0 0 * * *
  • @hourly sama dengan 0 * * * *

Alias ini berasal dari Vixie cron dan didokumenkan dalam halaman manual crond(5) di man7.org. Kes khas, @reboot, menjalankan kerja sekali apabila sistem bermula dan bukannya pada jadual jam.

Ambil perhatian bahawa tidak semua pelaksanaan cron menyokong rentetan ini; cron POSIX tidak memerlukannya, jadi sahkan sokongan sebelum bergantung padanya dalam skrip mudah alih.

Adakah Cron Menyokong Saat dan Jadual Sub-Minit?

Cron Unix standard tidak menyokong saat; resolusi terkecilnya ialah satu minit kerana crond menilai jadual sekali seminit, mengikut spesifikasi crond(5).

Untuk menjadualkan tugas dengan ketepatan peringkat saat, pembangun menggunakan dialek cron lanjutan yang menambah medan keenam di hadapan. Penjadual Quartz dan sintaks cron @Scheduled Spring kedua-duanya meletakkan saat dahulu, memberikan saat minit jam hari-bulan bulan hari-minggu. AWS EventBridge (dahulunya CloudWatch Events) menggunakan cron enam medan dengan medan tahun sebagai gantinya.

Oleh kerana format ini berbeza, ungkapan enam medan yang ditulis untuk Quartz tidak akan berjalan dengan betul dalam crond biasa. Sentiasa sahkan enjin mana yang menghurai ungkapan anda, kerana bilangan medan dan anjakan berbeza antara sistem.

Bagaimanakah Zon Waktu Mempengaruhi Cron Jobs?

Zon waktu mempengaruhi cron job kerana kebanyakan daemon cron menilai jadual berdasarkan waktu tempatan sistem, bukannya UTC. Apabila pelayan mengalami peralihan Waktu Musim Panas, kerja yang dijadualkan semasa jam yang dilangkau atau diulang mungkin terlepas atau berjalan dua kali; manual crontab(5) dan dokumentasi Pangkalan Data Zon Waktu IANA kedua-duanya menerangkan kes-kes pinggir ini.

Untuk mengelakkan kekaburan, banyak pasukan menetapkan pembolehubah CRON_TZ pelayan atau crontab kepada UTC, mengikut panduan yang hampir sama dengan ISO 8601 untuk penyimpanan masa yang jelas. Penjadual awan seperti Google Cloud Scheduler dan AWS EventBridge membolehkan anda menetapkan zon waktu secara langsung.

Apabila ketepatan masa penting, sentiasa dokumentasikan sama ada sesuatu ungkapan itu mengikut UTC atau waktu tempatan.

Cara Menguji dan Mengesahkan Ungkapan Cron dengan Selamat

Untuk menguji ungkapan cron dengan selamat, sahkan sintaksnya dan pratonton masa jalanan yang akan datang sebelum menambahkannya pada crontab langsung. Pengurai ini menyemak julat medan dan pengendali, kemudian menyenaraikan masa pelaksanaan seterusnya supaya anda boleh mengesahkan iramanya menepati niat anda.

Pada pelayan, jalankan crontab -l untuk menyemak kerja sedia ada dan crontab -e untuk mengeditnya, seperti yang diterangkan dalam halaman manual crontab(1) dan crontab(5). Ubah hala output kerja ke fail log (sebagai contoh, menambah >> /var/log/myjob.log 2>&1) supaya kegagalan dapat dilihat.

Pengujian awal mengelakkan ralat susunan yang merugikan, seperti keliru antara minit dan jam, yang hanya kelihatan apabila jadual mula berjalan dalam pengeluaran.

Kesilapan Biasa Semasa Menulis Ungkapan Cron

Kesilapan cron yang paling kerap berlaku adalah tersilap membaca susunan medan dan tertukar minit dengan jam, jadi 0 9 * * * (9 pagi) bertukar menjadi 9 0 * * * (00:09).

  • Satu lagi ralat yang kerap berlaku ialah menjangkakan hari-dalam-bulan dan hari-dalam-minggu bergabung dengan logik AND, sedangkan cron POSIX menggunakan OR apabila kedua-duanya ditetapkan, mengikut spesifikasi crontab(5).
  • Pembangun juga menganggap hari 7 bermaksud Ahad; cron standard menggunakan 0-6, walaupun cron Vixie menerima 7 sebagai Ahad untuk kemudahan.
  • Menggunakan */5 dalam medan jam bermaksud "setiap 5 jam" berfungsi, tetapi terlupa meletakkan 0 di hadapan dalam medan minit akan menyebabkan kerja itu berjalan pada setiap minit dalam jam tersebut.
  • Akhir sekali, tanda peratus (%) yang tidak dilaraskan dalam arahan akan dianggap sebagai baris baharu oleh cron.

Di Manakah Ungkapan Cron Digunakan dalam DevOps dan CI/CD?

Ungkapan cron digunakan di seluruh DevOps dan CI/CD untuk mencetuskan automasi berulang tanpa campur tangan manual. Tindakan GitHub menjadualkan aliran kerja dengan cron lima medan standard dalam kekunci on.schedule.cron, dan jadual saluran paip GitLab CI menggunakan sintaks yang sama.

Kubernetes CronJobs, yang ditentukan dalam API batch/v1, menjalankan tugas dalam bekas mengikut jadual cron, seperti yang didokumentasikan dalam dokumentasi rasmi Kubernetes. Platform awan termasuk AWS EventBridge, Google Cloud Scheduler, dan Azure Logic Apps mendedahkan penjadualan gaya cron untuk kerja tanpa pelayan.

Kegunaan biasa termasuk:

  • sandaran pangkalan data malam
  • pemanasan cache
  • penjanaan laporan
  • pembaharuan sijil
  • putaran log

Oleh kerana setiap platform mungkin menggunakan dialek yang sedikit berbeza, sentiasa sahkan ungkapan anda dengan pengurai sistem sasaran.

Frequently Asked Questions

sell

Tags