Summary
Generator ekspresi cron ini menyusun dan memeriksa jadwal cron lima kolom standar di browser Anda. Pilih preset atau ubah kolom menit, jam, tanggal, bulan, dan hari dalam minggu. Alat ini menjelaskan jadwal dalam bahasa biasa, merinci setiap kolom, dan menampilkan lima waktu eksekusi berikutnya dalam UTC atau zona waktu Anda. Aturan cron standar untuk menggabungkan tanggal dan hari dalam minggu tetap berlaku. Tidak ada data yang dikirim ke server dan tidak perlu pendaftaran.
Generator ekspresi cron: buat dan pratinjau jadwal dalam hitungan detik
Pilih preset atau ketik lima kolomnya. Anda mendapat penjelasan dalam bahasa biasa, rincian per kolom, dan lima waktu eksekusi berikutnya, semuanya dihitung secara lokal.
Apa yang dilakukan alat ini dengan lima kolommu
Setiap kolom diurai sendiri
Setiap kolom menerima satu nilai, daftar (1,15), rentang (1-5), langkah (*/10), atau campuran. Nama bulan dan hari seperti JAN atau MON-FRI juga bisa dipakai. Nilai di luar rentang dan rentang yang terbalik ditandai tepat di kolom yang salah.
Menerapkan aturan pencocokan cron yang sebenarnya
Sebuah waktu cocok jika menit, jam, dan bulannya ada dalam daftarmu dan tes harinya terpenuhi. Jika tanggal dalam bulan dan hari dalam minggu sama-sama dibatasi, cron menerima salah satunya. Jika salah satunya diawali tanda bintang, keduanya harus cocok.
Menelusuri kalender untuk mendaftar jadwal mendatang
Mulai dari menit saat ini, skrip melangkah hari demi hari, menyimpan hari yang lolos tes, lalu mendaftar jam dan menit yang cocok secara berurutan. Skrip mencari sampai delapan tahun ke depan, cukup untuk menemukan jadwal 29 Februari.
Lima kolom, sesuai urutan cron membacanya
Satu baris cron terdiri dari lima kolom yang dipisah spasi, diikuti perintahnya. Urutannya tidak pernah berubah: menit, jam, tanggal, bulan, hari dalam minggu. Kebanyakan kesalahan terjadi karena menukar dua kolom pertama, sehingga jadwal yang dimaksud pukul 14.00 malah jalan di menit ke-14 setiap jam. Baca dari kiri ke kanan dan ucapkan kolomnya dengan lantang sebelum Anda menyimpannya.
- Menit: 0-59
- Jam: 0-23, format 24 jam
- Tanggal: 1-31
- Bulan: 1-12 atau JAN-DEC
- Hari dalam minggu: 0-7 atau SUN-SAT, dengan 0 dan 7 keduanya hari Minggu
- Simbol: * untuk semua nilai, , untuk daftar, - untuk rentang, / untuk langkah
Jebakan cron yang bisa menghabiskan satu akhir pekan
Lingkungannya nyaris kosong
Cron menjalankan job dengan PATH minimal dan tanpa profil shell. Skrip yang jalan di terminal bisa gagal diam-diam saat dijalankan dari cron. Gunakan path absolut untuk perintah dan untuk setiap file yang dibaca, lalu arahkan output ke file log agar error terlihat.
Tanda persen mengakhiri perintahmu
Di baris crontab, % yang tidak di-escape diperlakukan sebagai baris baru, dan semua yang ada setelahnya dikirim ke perintah sebagai input. Format tanggal seperti date +%F perlu setiap % diberi garis miring terbalik. Taruh perintahnya di dalam skrip dan masalah ini hilang.
Setiap menit jarang yang Anda mau
Job yang jalan tiap menit dan memakan waktu 90 detik akan tumpang tindih dengan dirinya sendiri. Lindungi job panjang dengan lock, atau pindahkan ke antrean. Jika Anda hanya butuh sesuatu setiap beberapa menit, langkah seperti */5 lebih ringan dan lebih ramah untuk layanan yang dipanggil job tersebut.
Zona waktu bukan mengikuti Anda
Crontab memakai zona waktu server. Penjadwal hosting biasanya memakai UTC. Job yang diset pukul 09.00 bisa jalan pukul 17.00 di Taipei atau pukul 04.00 di Bangkok, tergantung di mana mesinnya berada. Tulis zona waktunya di komentar tepat di sebelah baris tersebut.
Hari dalam minggu dan tanggal digabung dengan OR
Membatasi kedua kolom tidak mempersempit jadwal, justru memperluasnya. Jika Anda ingin Senin pertama setiap bulan, tidak ada ekspresi lima kolom yang bisa menyatakannya secara langsung. Jalankan job setiap Senin dan biarkan skrip memeriksa bahwa tanggalnya 7 atau kurang.
Uji jadwalnya sebelum job-nya
Cek lima waktu eksekusi berikutnya di sini dulu, lalu jalankan perintahnya secara manual dengan lingkungan yang sama. Dua pemeriksaan kecil lebih baik daripada men-debug backup malam yang tidak pernah jalan. Mulai dengan perintah yang tidak berbahaya, misalnya menulis tanggal ke sebuah file.
Pertanyaan seputar ekspresi cron
Apakah generator ekspresi cron ini gratis, dan apakah jadwal saya dikirim ke suatu tempat?
Berapa jumlah kolom dalam ekspresi cron?
Kenapa job saya jalan di hari yang tidak saya duga saat saya mengatur tanggal dan hari dalam minggu sekaligus?
Zona waktu mana yang dipakai untuk waktu eksekusi berikutnya?
Apakah ekspresi yang sama berfungsi di GitHub Actions, Kubernetes, dan crontab?
Apa arti langkah seperti */15 atau 10/20?
Bisakah saya memakai nama seperti MON-FRI atau JAN?
Apa yang terjadi saat perubahan waktu musim panas (DST)?
Mencari hal berikutnya untuk dibangun?
Job cron adalah backend pertama yang baik untuk side project. Generator gratis di halaman utama kami memberi Anda spesifikasi proyek lengkap, dengan stack dan ruang lingkup, dalam satu klik.