Pengurai Ekspresi Cron
format: menit jam hari-dalam-bulan bulan hari-dalam-minggu
Anda mewarisi sebuah crontab dan penuh dengan 0 */2 * * 1-5, 15 4 1 * *, */30 8-18 * * *. Parser ini mengambil ekspresi cron standar 5 bidang dan mengembalikan deskripsi bahasa Inggris sederhana (“every 2 hours on weekdays”) plus 5 waktu berikutnya saat benar-benar akan berjalan. Berguna untuk memahami jadwal lama dan memverifikasi yang baru sebelum men-deploy-nya.
Cara mengurai ekspresi cron
-
1
Tempel ekspresi
Ekspresi standar 5 bidang (`* * * * *`): menit, jam, hari-dalam-bulan, bulan, dan hari-dalam-minggu.
-
2
Baca deskripsi bahasa Inggris
Parser menulis ulang tiap bidang dalam bahasa Inggris sederhana, misalnya "At minute 0, every 2 hours, on day(s) of week 1-5."
-
3
Verifikasi dengan pratinjau run berikutnya
5 waktu jadwal mendatang. Jika tidak sesuai maksud Anda, perbaiki ekspresinya.
-
4
Perbaiki bidang yang tidak valid
Ekspresi dengan jumlah bidang salah atau nilai di luar rentang ditolak dengan pesan yang menyebut bidang bermasalah.
Menerjemahkan tiap bidang
Setiap bidang punya rentang valid dan karakter spesialnya sendiri:
| Bidang | Rentang | Wildcard yang didukung |
|---|---|---|
| Menit | 0-59 | * , - / |
| Jam | 0-23 | * , - / |
| Hari dalam bulan | 1-31 | * , - / |
| Bulan | 1-12 | * , - / |
| Hari dalam minggu | 0-7 | * , - / |
*= setiap nilai (*di bidang menit berarti setiap menit).1,5,10= daftar nilai.1-5= rentang nilai.*/15atau0-45/15= step, dihitung dari awal rentang bidang.- Hari-dalam-minggu
0dan7sama-sama Minggu, jadi kedua konvensi diterima. Nama bulan dan hari seperti JAN atau MON tidak diterima; gunakan angka.
Contoh yang diterjemahkan
| Ekspresi | Dalam bahasa Inggris |
|---|---|
0 */2 * * 1-5 |
At minute 0 every 2 hours, Monday through Friday |
15 4 1 * * |
At 04:15 on the 1st day of every month |
*/30 8-18 * * * |
Every 30 minutes between 08:00 and 18:59 |
0 0 1,15 * * |
At midnight on the 1st and 15th of every month |
0 22 * * 0 |
At 22:00 every Sunday |
Apa yang diterima parser
- Tepat 5 bidang: menit, jam, hari-dalam-bulan, bulan, dan hari-dalam-minggu. Ekspresi Quartz 6 atau 7 bidang (dengan detik atau tahun) ditolak.
- Rentang valid: setiap nilai harus muat di bidangnya, misalnya menit 0-59, jam 0-23, hari-dalam-bulan 1-31, bulan 1-12, dan hari-dalam-minggu 0-7.
- Step positif: nilai setelah
/harus bilangan positif (*/0ditolak). - Tanpa pintasan bernama:
@daily,@reboot, dan pintasan serupa tidak diterima. Perluas dulu ke bentuk 5 bidangnya (misalnya@daily=0 0 * * *).
Hari-dalam-bulan dan hari-dalam-minggu digabungkan
Jika hari-dalam-bulan dan hari-dalam-minggu sama-sama diatur, parser ini hanya menjadwalkan run saat keduanya cocok: 0 0 1 * MON hanya berjalan saat tanggal 1 jatuh pada Senin. Sebagian besar implementasi cron Linux justru memperlakukan dua bidang itu sebagai OR (job berjalan saat salah satunya cocok). Periksa kembali ekspresi terhadap scheduler yang benar-benar Anda pakai.
Catatan zona waktu
Waktu di pratinjau dihitung dari jam server, yang berjalan di UTC. Jika crontab Anda berjalan di mesin dengan zona waktu lain, waktu yang ditampilkan di sini bisa berbeda dari waktu di mesin itu.
Pertanyaan yang Sering Diajukan
Tidak. Hanya ekspresi standar 5 bidang yang diterima. Ekspresi Quartz dengan detik (6 bidang) atau dengan tahun (7 bidang) ditolak dengan pesan error.
Biasanya salah satu dari ini: pratinjau memakai jam server dalam UTC sementara crontab Anda berjalan di zona waktu lain; hari-dalam-bulan dan hari-dalam-minggu sama-sama diatur (parser ini mensyaratkan keduanya cocok); atau nilai step yang mulai lagi di awal tiap jam/hari.
Ya, jika itu ekspresi standar 5 bidang, yang dipakai Kubernetes (default UTC). Ingat pratinjau di sini memakai jam server dalam UTC: jika cluster berjalan di zona waktu lain, waktunya bisa berbeda.
Cron Linux menerima pintasan bernama: @reboot (saat startup), @yearly / @annually (0 0 1 1 *), @monthly, @weekly, @daily, @hourly. Parser ini tidak menerimanya, jadi perluas dulu pintasan ke ekspresi 5 bidang setara sebelum menempelkannya di sini.
Alat Terkait
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
Referensi pintasan papan ketik
Cari pintasan bawaan terdokumentasi untuk VS Code, Chrome, dan Bash dengan GNU Readline di macOS, Windows, dan Linux.
Penghitung FPS
Ukur FPS browser dengan requestAnimationFrame: penghalusan, frame rate minimum dan maksimum, ambang peringatan, dan grafik opsional. Berjalan lokal, tanpa unggahan dan tanpa API.
Generator Warna Acak
Buat 1 hingga 50 warna HEX acak dengan contoh warna yang bisa dipratinjau, disalin, dan dipakai di CSS, pengujian, atau eksplorasi palet.
Pemilih Warna HEX
Pilih atau masukkan warna HEX untuk mendapatkan RGB, HSL, perkiraan CMYK, luminans relatif, serta kontras terhadap putih dan hitam.