Generator Ekspresi Cron Job & Jadwal Crontab Linux
Generator ekspresi cron POSIX 5 kolom, baris crontab siap pakai, jadwal 5 eksekusi berikutnya, dan konversi unit systemd timer.
Parameter Input
Hasil Perhitungan
- Ekspresi Cron Standar
- 0 0 * * *
- Jumlah Kolom Cron
- 5 Kolom
- Format Standar POSIX 5 Kolom
- Ya / Aktif
- Penjelasan Jadwal (Bahasa Indonesia)
- Setiap hari pada pukul 00:00 (tengah malam)
- Status Logika OR Hari-Bulan vs Hari-Minggu
- Tidak / Nonaktif
- Jadwal Eksekusi ke-1
- 2026-11-08 00:00:00 (Sun)
- Jadwal Eksekusi ke-2
- 2026-11-09 00:00:00 (Mon)
- Jadwal Eksekusi ke-3
- 2026-11-10 00:00:00 (Tue)
- Jadwal Eksekusi ke-4
- 2026-11-11 00:00:00 (Wed)
- Jadwal Eksekusi ke-5
- 2026-11-12 00:00:00 (Thu)
- Kolom Menit (0–59)
- 0
- Kolom Jam (0–23)
- 0
- Kolom Tanggal dalam Bulan (1–31)
- *
- Kolom Bulan (1–12)
- *
- Kolom Hari dalam Minggu (0–7)
- *
Uji aturan firewall dan skrip cron pada lingkungan staging terlebih dahulu, dan simpan backup konfigurasi di Git.
0 0 * * * /usr/local/bin/backup-job.sh >/dev/null 2>&1
# /etc/systemd/system/infracalc-job.timer [Unit] Description=Scheduled Job (Every day at 00:00 (midnight)) [Timer] OnCalendar=*-*-* 00:00:00 Persistent=true [Install] WantedBy=timers.target # /etc/systemd/system/infracalc-job.service [Unit] Description=Scheduled Job Service [Service] Type=oneshot ExecStart=/usr/local/bin/backup-job.sh
| # | Waktu Eksekusi | Timezone | ISO 8601 |
|---|---|---|---|
| 1 | 2026-11-08 00:00:00 (Sun) | Asia/Jakarta | 2026-11-07T17:00:00.000Z |
| 2 | 2026-11-09 00:00:00 (Mon) | Asia/Jakarta | 2026-11-08T17:00:00.000Z |
| 3 | 2026-11-10 00:00:00 (Tue) | Asia/Jakarta | 2026-11-09T17:00:00.000Z |
| 4 | 2026-11-11 00:00:00 (Wed) | Asia/Jakarta | 2026-11-10T17:00:00.000Z |
| 5 | 2026-11-12 00:00:00 (Thu) | Asia/Jakarta | 2026-11-11T17:00:00.000Z |
| 6 | 2026-11-13 00:00:00 (Fri) | Asia/Jakarta | 2026-11-12T17:00:00.000Z |
| 7 | 2026-11-14 00:00:00 (Sat) | Asia/Jakarta | 2026-11-13T17:00:00.000Z |
| 8 | 2026-11-15 00:00:00 (Sun) | Asia/Jakarta | 2026-11-14T17:00:00.000Z |
| 9 | 2026-11-16 00:00:00 (Mon) | Asia/Jakarta | 2026-11-15T17:00:00.000Z |
| 10 | 2026-11-17 00:00:00 (Tue) | Asia/Jakarta | 2026-11-16T17:00:00.000Z |
Cara Menggunakan Alat Ini
- Pilih preset jadwal siap pakai (misal: setiap jam, harian tengah malam, atau hari kerja pukul 09:00) atau ketik ekspresi cron kustom pada kolom input.
- Tentukan zona waktu target (seperti Asia/Jakarta atau UTC) untuk memeriksa konversi jadwal lokal dan 10 waktu eksekusi riil berikutnya.
- Salin baris konfigurasi crontab lengkap yang telah disiapkan beserta redirect output (>/dev/null 2>&1) ke dalam file crontab server Anda via perintah 'crontab -e'.
Contoh Perhitungan Nyata: Jadwal Backup Harian Tengah Malam (00:00 WIB)
Contoh terhitung: Ekspresi '0 0 * * *' dengan perintah '/usr/local/bin/backup-job.sh' pada zona waktu Asia/Jakarta akan dieksekusi setiap hari tepat pukul 00:00:00 WIB (tengah malam). Jadwal ini menghasilkan baris crontab '0 0 * * * /usr/local/bin/backup-job.sh >/dev/null 2>&1' tanpa memicu peringatan logika OR.
- Preset Jadwal Populer
- Harian Tengah Malam 00:00 (0 0 * * *)
- Ekspresi Cron (5 atau 6 Kolom)
- 0 0 * * *
- Zona Waktu Target Eksekusi
- Asia/Jakarta (WIB, UTC+7)
- Perintah / Skrip yang Dijalankan
- /usr/local/bin/backup-job.sh
- Ekspresi Cron Standar
- 0 0 * * *
- Jumlah Kolom Cron
- 5 Kolom
- Format Standar POSIX 5 Kolom
- Ya / Aktif
- Penjelasan Jadwal (Bahasa Indonesia)
- Setiap hari pada pukul 00:00 (tengah malam)
- Status Logika OR Hari-Bulan vs Hari-Minggu
- Tidak / Nonaktif
- Jadwal Eksekusi ke-1
- 2026-11-08 00:00:00 (Sun)
- Jadwal Eksekusi ke-2
- 2026-11-09 00:00:00 (Mon)
- Jadwal Eksekusi ke-3
- 2026-11-10 00:00:00 (Tue)
- Jadwal Eksekusi ke-4
- 2026-11-11 00:00:00 (Wed)
- Jadwal Eksekusi ke-5
- 2026-11-12 00:00:00 (Thu)
- Kolom Menit (0–59)
- 0
- Kolom Jam (0–23)
- 0
- Kolom Tanggal dalam Bulan (1–31)
- *
- Kolom Bulan (1–12)
- *
- Kolom Hari dalam Minggu (0–7)
- *
- Baris Konfigurasi Crontab (crontab -e)
- 0 0 * * * /usr/local/bin/backup-job.sh >/dev/null 2>&1
- Konfigurasi Ekuivalen Systemd (.timer & .service)
- # /etc/systemd/system/infracalc-job.timer [Unit] Description=Scheduled Job (Every day at 00:00 (midnight)) [Timer] OnCalendar=*-*-* 00:00:00 Persistent=true [Install] WantedBy=timers.target # /etc/systemd/system/infracalc-job.service [Unit] Description=Scheduled Job Service [Service] Type=oneshot ExecStart=/usr/local/bin/backup-job.sh
Konsep Dasar & Catatan Teknis
Cara Perhitungan (Rumus & Langkah)
Rumus Matematika
- Format 5 kolom standar: <menit: 0-59> <jam: 0-23> <tgl-bulan: 1-31> <bulan: 1-12/JAN-DEC> <hari-minggu: 0-7/SUN-SAT>
- Format 6 kolom dengan detik: <detik: 0-59> <menit> <jam> <tgl-bulan> <bulan> <hari-minggu>
- Logika Hari POSIX: Jika tgl-bulan !== '*' && hari-minggu !== '*', picu jika DOM cocok OR DOW cocok (operasi UNION)
Langkah Substitusi
- Ekspresi Cron (5 kolom) = "0 0 * * *" → Menit: 0, Jam: 0, Tanggal: *, Bulan: *, Hari-Minggu: *.
- Interpretasi Jadwal (Asia/Jakarta) = Setiap hari pada pukul 00:00 (tengah malam).
- Baris Crontab Siap Pakai = 0 0 * * * /usr/local/bin/backup-job.sh >/dev/null 2>&1.
Pertanyaan yang Sering Diajukan (FAQ)
Apa perbedaan antara ekspresi cron 5 kolom dan 6 kolom?
Format 5 kolom adalah standar POSIX (Vixie cron) tradisional di Linux: menit, jam, hari bulan, bulan, dan hari minggu. Format 6 kolom menambahkan kolom detik di posisi pertama (indeks 0), biasanya digunakan pada runtime Java (Quartz/Spring), AWS EventBridge, dan Node.js node-cron.
Bagaimana cara kerja logika OR antara hari dalam bulan dan hari dalam minggu?
Sesuai spesifikasi POSIX IEEE Std 1003.1, apabila kedua kolom (hari-bulan dan hari-minggu) dibatasi secara spesifik (tidak memakai *), cron akan berjalan jika salah satu syarat terpenuhi. Misalnya, '0 0 1,15 * 1' akan berjalan pada tanggal 1, tanggal 15, DAN setiap hari Senin.
Mengapa disarankan menambahkan '>/dev/null 2>&1' di akhir baris crontab?
Secara default, cron daemon di Linux mengirimkan seluruh keluaran stdout dan stderr perintah via daemon mail lokal (Postfix/Sendmail). Menambahkan '>/dev/null 2>&1' membuang output biasa dan error, mencegah kotak masuk mail lokal server membengkak dan memenuhi disk.
Apakah angka 0 atau 7 yang mewakili hari Minggu pada cron?
Dalam standar cron POSIX dan Vixie cron, angka 0 dan 7 keduanya valid dan sama-sama merepresentasikan hari Minggu. Urutan angka hari adalah 0=Minggu, 1=Senin, 2=Selasa, 3=Rabu, 4=Kamis, 5=Jumat, 6=Sabtu, dan 7=Minggu.
Alat Kalkulator Terkait
Lihat Semua Kalkulator Linux & DevOps →Konversi izin file Linux chmod oktal (755, 644, 4750) dan simbolik (-rwxr-xr-x), kalkulasi umask, analisis keamanan 777, dan tabel hak akses.
Generate skrip hardening firewall server Linux untuk UFW, iptables, dan /etc/nftables.conf lengkap dengan proteksi rate-limit SSH dan whitelist subnet.
Hitung ukuran swap optimal Linux, parameter sysctl vm.swappiness, vm.vfs_cache_pressure, estimasi jumlah inode ext4, dan generator skrip /swapfile.
Rencanakan jadwal jendela maintenance server lintas zona waktu WIB, WITA, WIT, SGT, dan UTC dengan deteksi benturan cron backup otomatis.
Referensi Standar & Catatan
- The Open Group Base Specifications Issue 7 / IEEE Std 1003.1-2017: crontab specification
- Debian / Ubuntu Linux System Manual: crontab(5) format for Vixie Cron daemon
Catatan: Hasil di atas merupakan estimasi berdasarkan rumus standar. Selalu verifikasi dengan dokumentasi resmi vendor dan kondisi lapangan sebelum implementasi pada lingkungan produksi.