Pembangun

Penghurai Ungkapan Cron

Tampal mana-mana ungkapan cron 5-medan dan lihat maksudnya dalam bahasa mudah serta-merta — tidak perlu lagi memerhati asterisk dan garis miring untuk mengetahui bila tugas berjalan.

Adakah kalkulator ini membantu anda?

Apakah Penghurai Ungkapan Cron?

Cron ialah sintaks penjadualan standard yang digunakan oleh tugas cron Unix/Linux, saluran paip CI/CD, CronJob Kubernetes, dan pelbagai penjadual tugas lain. Ungkapan cron memampatkan keseluruhan jadual berulang ke dalam lima medan ringkas, yang berkuasa tetapi terkenal sukar dibaca sekali imbas — adakah "0 */4 * * 1-5" bermaksud setiap 4 jam pada hari bekerja, atau sesuatu yang lain sama sekali? Penghurai ini memecahkan ungkapan cron medan demi medan dan menterjemahkannya kepada ayat bahasa mudah, supaya anda dapat mengesahkan jadual adalah betul sebelum menggunakannya, atau memahami dengan cepat jadual yang ditulis oleh orang lain tanpa merujuk jadual sintaks cron.

Bila Menggunakan Kalkulator Ini

  • Apabila anda mengesahkan jadual cron sebelum menyebarkan tugas yang dijadualkan atau saluran paip CI/CD
  • Apabila anda menyahpijat mengapa tugas yang dijadualkan berjalan atau tidak berjalan pada masa yang tidak dijangka
  • Apabila anda menyemak CronJob Kubernetes atau jadual GitHub Actions yang ditulis oleh rakan sekerja
  • Apabila anda mempelajari sintaks cron untuk kursus pensijilan pentadbir sistem atau DevOps
  • Apabila anda mengaudit entri crontab sedia ada semasa migrasi pelayan
  • Apabila mereka bentuk corak penjadualan kompleks yang menggabungkan beberapa sekatan masa

Langkah:

  1. Tampal atau taip ungkapan cron 5-medan ke dalam input.
  2. Lihat setiap medan dipecahkan secara individu dengan maksudnya.
  3. Baca terjemahan bahasa mudah bagi keseluruhan jadual.
  4. Cuba butang preset untuk jadual biasa seperti "setiap jam" atau "hari bekerja jam 9 pagi".

Rumus

┌───────────── minit (0-59) │ ┌───────────── jam (0-23) │ │ ┌───────────── hari bulan (1-31) │ │ │ ┌───────────── bulan (1-12) │ │ │ │ ┌───────────── hari minggu (0-6, Ahad=0) │ │ │ │ │ * * * * *

Kes Penggunaan

  • Mengesahkan jadual cron sebelum menggunakan tugas berjadual atau saluran paip CI/CD
  • Memahami CronJob Kubernetes atau fungsi berjadual serverless yang ditulis oleh rakan sepasukan
  • Menyahpepijat sebab tugas berjadual berjalan (atau tidak berjalan) pada waktu yang tidak dijangka
  • Mempelajari sintaks cron untuk kursus sysadmin atau DevOps
  • Mengaudit entri crontab sedia ada semasa migrasi pelayan

Faedah Utama

  • Menterjemahkan sintaks cron yang kriptik kepada bahasa mudah serta-merta
  • Memecahkan setiap 5 medan secara individu untuk kejelasan
  • Preset satu klik untuk corak penjadualan paling biasa
  • Tiada pendaftaran, berjalan sepenuhnya dalam pelayar anda

Tips Pro

  • Jika ragu-ragu, uji dahulu dengan waktu yang sangat hampir untuk mengesahkan jadual berjalan seperti dijangka
  • Gunakan julat (1-5) dan bukannya menyenaraikan setiap nilai dengan koma apabila boleh, untuk kebolehbacaan
  • Semak semula tetapan zon waktu pelayan atau penjadual anda — ini punca paling biasa pepijat cron "waktu salah"
  • Untuk apa-apa yang lebih kompleks daripada jadual harian/mingguan mudah, tuliskan penerangan bahasa mudah dan bandingkan dengan niat anda sebelum menggunakannya

Kesilapan Biasa

  • Terlupa bahawa hari-bulan dan hari-minggu digabungkan dengan OR, bukan AND
  • Mengelirukan hari-minggu berindeks 0 (0=Ahad) dengan konvensyen berindeks 1 daripada sistem lain
  • Menganggap */7 dalam medan hari-bulan bermaksud "setiap 7 hari" — sebenarnya ia bermaksud hari 1, 8, 15, 22, 29, bermula semula setiap bulan
  • Terlupa bahawa kebanyakan pelaksanaan cron berjalan pada zon waktu tempatan pelayan, bukan UTC atau zon waktu pengguna

Istilah Utama

Cron: Penjadual tugas berasaskan masa yang digunakan dalam sistem operasi seperti Unix
Crontab: Fail atau arahan yang digunakan untuk mentakrifkan senarai tugas cron
Nilai langkah: Sintaks "/N" bermaksud "setiap N unit" bermula daripada nilai minimum medan
CronJob: Sumber asli Kubernetes untuk menjalankan tugas berjadual cron

Konsep Berkaitan

  • Kalkulator Perbezaan Masa: Kira tempoh antara dua tarikh dan masa
  • Kalkulator Hari Sehingga: Kira hari sehingga tarikh tertentu
  • Penukar Cap Masa Unix: Tukar antara cap masa Unix dan tarikh
  • Kalkulator Tindihan Zon Masa: Cari tindihan waktu bekerja merentasi zon masa
  • Pembentuk JSON: Format dan sahkan data JSON

Contoh

Ungkapan "0 9 * * 1-5" dipecahkan kepada: minit=0, jam=9, setiap hari bulan, setiap bulan, Isnin hingga Jumaat — bermaksud "Pada 09:00, Isnin hingga Jumaat."

Mentafsir Hasil

Penganalisis memecahkan ungkapan cron 5 medan kepada komponen individunya dan menterjemahkan setiap satu kepada bahasa Melayu mudah. Lima medan adalah: minit (0–59), jam (0–23), hari dalam bulan (1–31), bulan (1–12), dan hari dalam minggu (0–6, di mana 0 adalah Ahad). Satu tugas berjalan apabila KELIMA-LIMA medan sepadan dengan masa semasa — ini adalah logik AND antara medan. Perhatikan interaksi antara hari dalam bulan dan hari dalam minggu, yang menggunakan logik OR (bukan AND). Satu tugas yang dijadualkan dengan hari 15 DAN hari dalam minggu 5 akan berjalan pada hari 15 setiap bulan DAN setiap Jumaat — bukan hanya Jumaat yang jatuh pada hari 15.

Soalan Lazim

Apakah 5 medan dalam ungkapan cron?
Mengikut susunan: minit (0-59), jam (0-23), hari bulan (1-31), bulan (1-12), dan hari minggu (0-6, di mana 0 ialah Ahad). Tugas berjalan apabila kesemua lima medan sepadan dengan waktu semasa.
Apakah maksud asterisk (*) dalam sintaks cron?
Asterisk bermaksud "semua nilai dibenarkan" untuk medan tersebut. Contohnya, * dalam medan jam bermaksud tugas boleh berjalan pada mana-mana jam, iaitu medan tersebut tidak menyekat jadual.
Apakah maksud */5?
Garis miring menunjukkan nilai langkah. */5 dalam medan minit bermaksud "setiap 5 minit" — bermula dari nilai minimum medan itu dan berulang setiap 5 unit.
Bagaimana saya menjadualkan tugas untuk hari bekerja sahaja?
Gunakan julat dalam medan hari-minggu: 1-5 mewakili Isnin hingga Jumaat. Digabungkan dengan jam dan minit tertentu, contohnya "0 9 * * 1-5" berjalan pada jam 9:00 pagi setiap hari bekerja.
Apakah maksud koma dalam sintaks cron?
Koma memisahkan berbilang nilai dalam satu medan. Contohnya, 0,15,30,45 dalam medan minit bermaksud tugas berjalan pada minit 0, 15, 30, dan 45. Koma adalah OR ringkas: tugas berjalan pada mana-mana nilai yang disenaraikan.
Apakah sambungan (julat) dalam sintaks cron?
Sambungan mentakrifkan julat nilai. Contohnya, 1-5 dalam medan hari-minggu bermaksud Isnin hingga Jumaat (hari 1 hingga 5). Julat adalah inklusif kedua-dua hujung. Anda boleh menggabungkan julat dengan sintaks lain: 1-5,0 bermaksud Isnin hingga Jumaat tambah Ahad.
Bagaimana saya menjadualkan tugas untuk berjalan setiap 2 minggu?
Cron piawai tidak menyokong penjadualan dua minggu secara natif. Anda mempunyai dua pilihan: (1) Gunakan skrip pembungkus yang menyemak tarikh dan hanya berjalan setiap dua minggu, atau (2) Gunakan perancang tugas yang menyokong ungkapan lebih kompleks seperti AWS EventBridge atau penggera sistem dengan pencetus berasaskan kalendar.
Zon waktu apakah yang digunakan oleh cron?
Cron piawai menggunakan zon waktu tempatan pelayan. Jika pelayan anda ditetapkan untuk UTC, semua tugas cron berjalan dalam UTC tanpa mengira zon waktu tempatan anda. Sentiasa semak tetapan zon waktu pelayan, terutamanya dalam persekitaran awan.
Apakah perbezaan antara cron dan crontab?
Cron adalah daemon (perkhidmatan latar belakang) yang menjalankan tugas yang dijadualkan. Crontab adalah fail konfigurasi (atau arahan) yang mentakrifkan senarai tugas cron. Apabila anda mengedit crontab, anda menulis takrifan jadual yang daemon cron baca dan laksanakan.
Bagaimana saya mengendalikan masa menjimatkan siang dengan cron?
Kebanyakan pelaksanaan cron tidak melaraskan secara automatik untuk DST. Apabila jam dimajukan, tugas yang dijadualkan pada pukul 2:00 mungkin dilangkau sepenuhnya. Apabila jam dikembalikan, tugas mungkin berjalan dua kali. Untuk mengelakkan masalah DST, jadualkan tugas di luar waktu peralihan (2:00–3:00) atau gunakan penjadualan berasaskan UTC.
Bolehkah saya menggunakan cron untuk selang sub-minit?
Cron piawai mempunyai kehalusan peringkat minit dan tidak boleh menjadualkan tugas lebih kerap daripada sekali seminit. Untuk selang sub-minit, gunakan alternatif seperti penggera systemd, Kubernetes CronJobs dengan selang lebih pendek, atau perancang peringkat aplikasi (node-cron dengan sokongan milisaat).

Terokai Lebih Banyak Alat

Pilihan segar dari seluruh perpustakaan alat kami.