Parser Ekspresi Cron

Parser ekspresi cron kami menerjemahkan jadwal cron ke dalam bahasa Inggris sederhana dan menghitung waktu eksekusi mendatang. Tempel ekspresi cron apa pun dan lihat secara instan apa artinya, kapan akan berjalan berikutnya, dan apakah sintaksnya valid. Mendukung format crontab standar 5 kolom (menit, jam, hari, bulan, hari dalam seminggu), format 6 kolom yang diperluas dengan detik, dan preset umum seperti @daily, @hourly, @weekly. Semua pemrosesan terjadi di browser Anda.

star 4.9
auto_awesome AI
New

Parser 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 Parser Cron

edit

Masukkan Ekspresi

Ketik atau tempel ekspresi cron (5 atau 6 kolom). Gunakan preset untuk jadwal umum.

translate

Baca Deskripsi

Lihat terjemahan yang mudah dibaca tentang apa yang dilakukan ekspresi cron Anda.

schedule

Periksa Eksekusi Berikutnya

Lihat 10 waktu eksekusi berikutnya untuk memastikan jadwal Anda sudah benar.

build

Buat Ekspresi

Gunakan pembangun interaktif untuk membuat ekspresi cron baru dari awal.

The Formula

Ekspresi cron adalah definisi jadwal yang menggunakan 5 kolom yang dipisahkan oleh spasi: menit (0-59), jam (0-23), hari dalam bulan (1-31), bulan (1-12), dan hari dalam seminggu (0-6, dengan 0=Minggu). Setiap kolom dapat menggunakan karakter wildcard (*), rentang (1-5), daftar (1,3,5), dan nilai langkah (*/5). Beberapa sistem mendukung kolom ke-6 (detik) di awal.

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

lightbulb Variables Explained

  • * Nilai apa pun (wildcard)
  • , Pemisah daftar nilai (cth., 1,3,5)
  • - Rentang nilai (cth., 1-5)
  • / Nilai langkah (cth., */5 = setiap 5)

tips_and_updates Pro Tips

1

*/5 * * * * berarti setiap 5 menit — tanda / adalah operator langkah

2

0 0 * * 0 berjalan pada tengah malam setiap hari Minggu (hari 0 = Minggu di sebagian besar sistem)

3

Gunakan @daily, @hourly, @weekly, @monthly sebagai pintasan untuk jadwal umum

4

Hari dalam seminggu: 0=Minggu, 1=Senin, 2=Selasa, 3=Rabu, 4=Kamis, 5=Jumat, 6=Sabtu

5

Hari dalam bulan dan hari dalam seminggu tidak bisa ditentukan secara bersamaan dalam cron standar

6

Nama bulan (JAN-DES) dan nama hari (SUN-SAT) berfungsi di banyak implementasi cron

7

Selalu uji ekspresi cron sebelum menerapkan — kesalahan off-by-one sering terjadi

Parser ekspresi cron gratis kami menerjemahkan jadwal cron ke dalam teks yang mudah dibaca manusia dan menunjukkan waktu eksekusi mendatang. Validasi sintaksis cron, pahami setiap kolom, dan verifikasi jadwal Anda sebelum menerapkannya. Mendukung format cron standar 5 kolom dan ekstensi 6 kolom.

Parser Ekspresi Cron - Terjemahkan Cron ke Bahasa Inggris

Tempel ekspresi cron apa pun dan langsung lihat artinya dalam bahasa yang mudah dipahami. Parser kami menguraikan setiap kolom (menit, jam, hari, bulan, hari kerja) dan menjelaskan jadwalnya.

Mendukung:

  • wildcard (*)
  • rentang (1-5)
  • daftar (1,3,5)
  • langkah (*/5)
  • nilai bernama (SEN-JUM, JAN-DES)

Kalkulator Jadwal Cron - Waktu Eksekusi Berikutnya

Lihat secara persis kapan pekerjaan cron Anda akan dieksekusi berikutnya. Kalkulator kami menampilkan 10 waktu eksekusi berikutnya beserta tanggal dan stempel waktu, sehingga Anda dapat memverifikasi bahwa jadwal Anda benar sebelum menerapkannya ke produksi.

Jangan pernah menerapkan jadwal cron yang salah lagi.

Bagaimana Cara Kerja Ekspresi Cron?

Sebuah ekspresi cron bekerja dengan mencocokkan waktu saat ini dengan pola lima kolom yang dipisahkan oleh spasi:

  • menit
  • jam
  • hari dalam bulan
  • bulan
  • hari dalam seminggu

Daemon cron (crond) akan bangun setiap menit dan menjalankan pekerjaan apa pun yang kolomnya semuanya cocok dengan jam saat ini, seperti yang dijelaskan dalam spesifikasi crontab POSIX dan halaman manual crontab(5) Linux. Setiap kolom menerima wildcard (*) untuk "nilai apa pun," ditambah rentang, daftar, dan operator langkah.

Vixie cron, implementasi yang banyak digunakan pada sebagian besar distribusi Linux, mengikuti perilaku ini. Memahami bahwa cron mengevaluasi dari menit ke menit menjelaskan mengapa cron tidak dapat secara native menjadwalkan tugas pada interval di bawah satu menit tanpa kolom detik.

Apa Arti Kelima Kolom Cron?

Kelima kolom cron, jika dibaca dari kiri ke kanan, adalah:

  • menit (0-59)
  • jam (0-23)
  • hari dalam bulan (1-31)
  • bulan (1-12)
  • hari dalam seminggu (0-6, di mana 0 adalah Minggu)

Urutan ini ditentukan oleh standar POSIX (IEEE Std 1003.1) dan didokumentasikan dalam halaman manual crontab(5) yang dikelola di man7.org. Kolom bulan dan hari kerja juga menerima singkatan tiga huruf seperti JAN hingga DES dan MIN hingga SAB di sebagian besar implementasi.

Aturan POSIX utama: ketika hari-dalam-bulan dan hari-dalam-minggu sama-sama dibatasi (tidak ada yang berupa *), cron menjalankan pekerjaan jika salah satu kolom cocok, bukan keduanya. Perilaku OR ini mengejutkan banyak pengembang dan menyebabkan eksekusi ekstra yang tak terduga.

Cara Menggunakan Operator Langkah, Rentang, dan Daftar Cron

Operator langkah, rentang, dan daftar cron memungkinkan Anda menyatakan jadwal yang kompleks secara ringkas.

  • Rentang seperti 1-5 berarti nilai berurutan (Senin sampai Jumat di kolom hari kerja).
  • Daftar seperti 1,3,5 hanya mencocokkan nilai spesifik tersebut.
  • Langkah seperti */15 di kolom menit berarti "setiap 15 menit" (0, 15, 30, 45), dan langkah dapat digabungkan dengan rentang, seperti pada 0-30/10.

Operator ini didokumentasikan dalam manual crontab(5) dan sumber Vixie cron. Misalnya, */5 9-17 * * 1-5 berjalan setiap lima menit antara pukul 09.00 dan 17.00 pada hari kerja.

Menggabungkan operator membuat baris crontab tetap mudah dibaca sekaligus mencakup rentang pengulangan yang rumit.

Apa Saja String Khusus Cron Seperti @daily dan @reboot?

String khusus cron adalah pintasan bernama yang menggantikan sintaksis lima kolom untuk jadwal umum.

  • @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 didokumentasikan dalam halaman manual crontab(5) di man7.org. Kasus khusus, @reboot, menjalankan pekerjaan sekali saat sistem dimulai, bukan pada jadwal jam.

Perhatikan bahwa tidak semua implementasi cron mendukung string ini; cron POSIX tidak mewajibkannya, jadi verifikasikan dukungannya sebelum mengandalkannya dalam skrip portabel.

Apakah Cron Mendukung Detik dan Jadwal di Bawah Satu Menit?

Cron Unix standar tidak mendukung detik; resolusi terkecilnya adalah satu menit karena crond mengevaluasi jadwal satu kali per menit, sesuai spesifikasi crontab(5).

Untuk menjadwalkan tugas dengan presisi tingkat detik, pengembang menggunakan dialek cron diperluas yang menambahkan kolom keenam di depan. Quartz Scheduler dan sintaksis cron @Scheduled milik Spring sama-sama menempatkan detik di urutan pertama, menghasilkan detik menit jam hari-dalam-bulan bulan hari-dalam-minggu. AWS EventBridge (sebelumnya CloudWatch Events) menggunakan cron enam kolom dengan kolom tahun sebagai gantinya.

Karena format ini berbeda, ekspresi enam kolom yang ditulis untuk Quartz tidak akan berjalan dengan benar di crontab biasa. Selalu pastikan mesin mana yang mengurai ekspresi Anda, karena jumlah dan offset kolom berbeda di setiap sistem.

Bagaimana Zona Waktu Memengaruhi Cron Job?

Zona waktu memengaruhi cron job karena sebagian besar daemon cron mengevaluasi jadwal berdasarkan waktu lokal sistem, bukan UTC. Ketika server mengalami transisi Waktu Musim Panas (Daylight Saving Time), pekerjaan yang dijadwalkan pada jam yang dilewati atau diulang mungkin akan terlewat atau berjalan dua kali; panduan manual crontab(5) dan dokumentasi Basis Data Zona Waktu IANA sama-sama menjelaskan kasus-kasus khusus ini.

Untuk menghindari kebingungan, banyak tim menyetel variabel CRON_TZ pada server atau crontab ke UTC, mengikuti panduan yang mirip dengan ISO 8601 untuk pencatatan waktu yang tidak ambigu. Penjadwal Cloud seperti Google Cloud Scheduler dan AWS EventBridge memungkinkan Anda menentukan zona waktu secara eksplisit.

Ketika ketepatan waktu sangat penting, selalu dokumentasikan apakah suatu ekspresi menggunakan UTC atau waktu lokal.

Cara Menguji dan Memvalidasi Ekspresi Cron dengan Aman

Untuk menguji ekspresi cron dengan aman, validasi sintaksnya dan pratinjau waktu eksekusi mendatang sebelum menambahkannya ke crontab aktif. Pengurai ini memeriksa rentang kolom dan operator, lalu mencantumkan waktu eksekusi berikutnya sehingga Anda dapat memastikan ritmenya sesuai dengan tujuan Anda.

Di server, jalankan crontab -l untuk meninjau pekerjaan yang ada dan crontab -e untuk mengeditnya, sebagaimana dijelaskan dalam halaman manual crontab(1) dan crontab(5). Alihkan output pekerjaan ke file log (misalnya, menambahkan >> /var/log/myjob.log 2>&1) agar kegagalan dapat terlihat.

Pengujian sejak awal mencegah kesalahan penulisan yang merugikan, seperti tertukarnya menit dan jam, yang baru akan terlihat setelah jadwal berjalan di sistem produksi.

Kesalahan Umum Saat Menulis Ekspresi Cron

Kesalahan cron yang paling umum adalah salah membaca urutan kolom dan menukar menit dengan jam, sehingga 0 9 * * * (pukul 09.00) menjadi 9 0 * * * (pukul 00.09).

  • Kesalahan lain yang sering terjadi adalah mengharapkan hari dalam sebulan dan hari dalam seminggu digabungkan dengan logika AND, padahal cron POSIX menggunakan logika OR ketika keduanya diatur, sesuai dengan spesifikasi crontab(5).
  • Pengembang juga sering mengira angka 7 berarti hari Minggu; cron standar menggunakan angka 0-6, meskipun cron Vixie menerima angka 7 sebagai hari Minggu untuk kemudahan.
  • Menggunakan */5 di kolom jam yang berarti "setiap 5 jam" memang berfungsi, tetapi lupa menyertakan angka 0 di depan pada kolom menit akan membuat pekerjaan tersebut berjalan setiap menit pada jam-jam tersebut.
  • Terakhir, tanda persen (%) yang tidak diberi garis miring terbalik (unescaped) dalam perintah akan diperlakukan sebagai baris baru oleh cron.

Di Mana Ekspresi Cron Digunakan dalam DevOps dan CI/CD?

Ekspresi cron digunakan di seluruh ekosistem DevOps dan CI/CD untuk memicu otomatisasi berulang tanpa intervensi manual. GitHub Actions menjadwalkan alur kerja dengan cron lima kolom standar pada kunci on.schedule.cron, dan penjadwalan alur kerja GitLab CI menggunakan sintaks yang sama.

CronJobs Kubernetes, yang ditentukan dalam API batch/v1, menjalankan tugas kontainerisasi sesuai jadwal cron, seperti yang didokumentasikan dalam dokumentasi resmi Kubernetes. Platform cloud termasuk AWS EventBridge, Google Cloud Scheduler, dan Azure Logic Apps menyediakan penjadwalan bergaya cron untuk pekerjaan nirserver (serverless).

Penggunaan umum meliputi:

  • pencadangan database malam hari
  • pemanasan cache (cache warming)
  • pembuatan laporan
  • pembaruan sertifikat
  • rotasi log

Karena setiap platform mungkin menggunakan dialek yang sedikit berbeda, selalu validasi ekspresi Anda terhadap pengurai (parser) sistem target.

Frequently Asked Questions

sell

Tags