Hentikan Mencari Pola Cron — Ada Generator untuk Itu
Ekspresi Cron adalah salah satu hal yang digunakan secara terus-menerus tetapi jarang diingat. Berikut arti dari lima field yang sebenarnya, kesalahan yang menyerang orang-orang, dan mengapa generator ekspresi Cron online adalah pendekatan yang lebih cerdas.
Pukul 2 pagi. Sebuah penyebaran (deployment) dijadwalkan pada pukul 6 pagi. Anda perlu memverifikasi kembali bahwa pekerjaan cron akan benar-benar dijalankan pada waktu yang tepat. Jadi Anda membuka tab baru dan mengetikkan "cron syntax" di Google. Kembali lagi.
Ini adalah bagian dari perjalanan. Setiap pengembang yang pernah menyentuh server Linux telah melakukannya setidaknya sekali — dan kebanyakan dari kita telah melakukannya lebih dari sekali yang perlu disadari. Ekspresi cron adalah salah satu hal yang digunakan secara terus-menerus namun tidak pernah benar-benar diingat. Sintaksnya berada di zona yang tidak nyaman antara 'terlalu sederhana untuk dicari' dan 'cukup spesifik untuk salah ketik.'
Ada cara yang lebih baik. Gunakan generator ekspresi cron online dan biarkan alat tersebut menangani sintaksnya sambil Anda fokus pada hal yang benar-benar penting.
Mengapa Sintaks Cron Menolak Dijadikan Hafalan
Cron memiliki lima field. Lima. Itu saja. Namun urutannya selalu membuat orang bingung setiap kali:
# ┌───────────── minute (0–59)
# │ ┌───────────── hour (0–23)
# │ │ ┌───────────── day of month (1–31)
# │ │ │ ┌───────────── month (1–12)
# │ │ │ │ ┌───────────── day of week (0–6, Sunday=0)
# │ │ │ │ │
* * * * * command
Masalahnya bukan karena sulit — tapi karena hanya cukup banyak karakter khusus untuk menyebabkan ketidakjelasan. Apakah */5 "setiap 5 menit" atau "pada menit ke-5"? Apakah 0 9 * * 1-5 dijalankan pada pukul 9 pagi atau 9 malam? Apa yang terjadi jika Anda lupa bahwa bulan dimulai dari indeks 1 tapi hari dalam seminggu dimulai dari 0?
Ini bukan trik untuk pemula. Ini adalah trik untuk semua orang. Konfigurasi cron yang salah adalah salah satu cara yang tenang untuk menyebabkan kejadian produksi — jenis kejadian di mana tidak ada yang langsung crash, hanya tidak berjalan, dan Anda baru menyadari tiga hari kemudian.
Lima Field, Dijelaskan Tanpa Kebosanan
Berikut versi praktisnya:
- Menit (0–59) — Menit dalam satu jam ketika pekerjaan dijalankan.
30berarti pukul 30.*/15berarti setiap 15 menit. - Jam (0–23) — Menggunakan waktu 24 jam.
9berarti pukul 9 pagi.17berarti pukul 5 sore. Tidak ada perbedaan antara AM/PM. - Hari dalam bulan (1–31) — Hari kalender yang dimaksud.
1berarti hari pertama bulan.15berarti hari ke-15. - Bulan (1–12) — Januari adalah
1, Desember adalah12. Anda juga bisa menggunakan nama-nama:JAN,FEB, dsb. - Hari dalam seminggu (0–6 atau 1–7) — Minggu bisa diwakili dengan
0atau7tergantung implementasi cron yang digunakan. Senin selalu diwakili dengan1. Ini adalah field yang paling menyebabkan kebingungan.
Karater Khusus yang Penting
*— Setiap nilai yang mungkin (setiap menit, setiap jam, dsb.)*/n— Setiap Tidak ada tulisan untuk diterjemahkan dalam tag ini.interval.*/5dalam field menit berarti setiap 5 menit.a-b— Rentang.1-5dalam field hari seminggu berarti Senin hingga Jumat.a,b,c— Daftar.1,3,5berarti Senin, Rabu, Jumat.@reboot,@hourly,@daily— Alias singkat. Tidak didukung di semua tempat.
Kesalahan Umum yang Menyerang Orang
1. Lupa tentang zona waktu
Cron berjalan dalam zona waktu lokal server. Jika server Anda berada di UTC dan Anda berada di New York, 0 9 * * * tidak berjalan pada pukul 9 pagi di Amerika Utara — ia berjalan pada pukul 4 atau 5 pagi, tergantung pada perubahan zona waktu (DST). Selalu ketahui zona waktu server Anda. Selalu.
2. Menggunakan Hari dalam Bulan dan Hari dalam Seminggu Secara Bersamaan
Jika Anda menentukan nilai pada field hari dalam bulan dan dan hari dalam seminggu (bukan * dalam salah satu dari keduanya), kebanyakan implementasi cron akan menganggapnya sebagai OR — pekerjaan berjalan ketika salah satu kondisi terpenuhi. Ini hampir tidak pernah sesuai dengan kebutuhan Anda.
3. Mengharapkan */1 Berarti "Sekali"
*/1 sama dengan *. Ini berarti "setiap kali". Tidak ada cara untuk menyatakan "dijalankan sekali" dalam cron standar — untuk itu, Anda perlu menggunakan at atau timer systemd satu kali.
4. Tidak Menguji Sebelum Deploy
Cron tidak memberikan umpan balik langsung. Anda menulis ekspresi, menyimpan crontab, dan kemudian menunggu. Jika salah, Anda hanya menyadari kesalahan ketika pukul 3 pagi ketika backup yang dijadwalkan tidak berjalan. Itu sebabnya menggunakan kalkulator waktu berikutnya cron sebelum deploy sangat bernilai, meskipun hanya memakan 30 detik.
Gunakan Generator Ekspresi Cron Sebagai Pengganti
Saran yang jujur: berhenti mencoba menulis ekspresi cron secara manual dari ingatan. Gunakan generator. Ini bukan tanda kelemahan — ini cara untuk menghindari kesalahan bodoh di produksi.
Itu generator ekspresi cron di IOTools mengizinkan Anda membangun ekspresi secara visual — pilih interval menit, jam, hari seminggu, dan ia akan menunjukkan ekspresi yang tepat serta penjelasan sederhana tentang kapan ekspresi tersebut berjalan. Tidak perlu menghafal, tidak perlu membuka dokumen.
Setelah Anda memiliki ekspresi, jalankan melalui kalkulator waktu berikutnya cron. Salin ekspresi tersebut, dapatkan 5–10 waktu eksekusi berikutnya. Ini hanya butuh lima detik dan akan langsung menginformasikan apakah Anda secara tidak sengaja menjadwalkan pekerjaan pembersihan agar berjalan setiap menit alih-alih sekali per hari.
Pemeriksaan kedua ini yang paling sering dilewatkan. Jangan lewatkan.
Referensi Cepat: Ekspresi yang Paling Umum Digunakan
| Ekspresi | Arti |
|---|---|
* * * * * | Setiap menit |
0 * * * * | Setiap jam, pada pukul jam |
0 9 * * * | Setiap hari pukul 9:00 pagi |
0 9 * * 1-5 | Hari kerja pukul 9:00 pagi |
*/15 * * * * | Setiap 15 menit |
0 0 * * 0 | Setiap hari Minggu pukul tengah malam |
0 0 1 * * | Pukul tengah malam pada hari pertama setiap bulan |
30 4 1,15 * * | Pukul 4:30 pagi pada tanggal 1 dan 15 bulan |
0 22 * * 1-5 | Hari kerja pukul 22:00 malam |
@daily | Sekali per hari pukul tengah malam (singkat) |
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 5 Mei 2026
