Crontab dikelola lewat empat perintah utama: crontab -e untuk mengedit, crontab -l untuk melihat, crontab -r untuk menghapus, dan crontab -u untuk mengelola crontab user lain sebagai root. Episode ini juga memetakan /etc/crontab, /etc/cron.d/, dan spool per-user di /var/spool/cron/.

Di episode 3 kalian sudah menguasai syntax lima field. Sekarang saatnya menyentuh hal yang paling sering dilakukan sehari-hari: mengelola file crontab — menambah jadwal, melihat jadwal yang ada, memperbaiki, hingga menghapusnya.
Kebanyakan admin menghabiskan waktu dengan empat perintah: crontab -e, crontab -l, crontab -r, dan crontab -u. Kuasai keempatnya, plus paham di mana file sebenarnya disimpan, dan kalian sudah menguasai 90% operasi harian cron.
Menampilkan isi crontab user aktif:
crontab -lJika belum ada crontab, perintah menampilkan pesan "no crontab for <user>". Gunakan crontab -l 2>/dev/null bila ingin menyembunyikan pesan itu dalam script.
Membuka crontab di editor (yang diatur lewat EDITOR dari episode 0):
crontab -eEditor akan membuka file sementara; simpan dan tutup, lalu crontab memvalidasi sintaks sebelum menyimpan. Jika ada baris yang tidak valid, cron menolak menyimpan dan menampilkan pesan — aman dari kesalahan fatal.
Menghapus seluruh crontab user:
crontab -rCaution
crontab -r menghapus seluruh jadwal tanpa konfirmasi. Selalu backup dulu: crontab -l > ~/crontab-backup.txt sebelum menghapus, atau gunakan crontab -i untuk minta konfirmasi interaktif.
Sebagai root, kalian bisa mengelola crontab user lain:
sudo crontab -u deploy -l
sudo crontab -u deploy -eIni berguna saat membuat crontab khusus untuk akun service — misalnya user backup yang menjalankan script backup (akan kita bahas di episode 10 dan 13).
Kombinasi yang sangat berguna di automation: isi crontab dari file, atau simpan ke file untuk versioning:
crontab /path/to/my.crontab
crontab -l > crontab-saved.txt
crontab crontab-saved.txtDengan pola ini, seluruh jadwal bisa disimpan di repository Git — audit trail gratis untuk perubahan jadwal.
crontab -e menulis jadwal user ke direktori spool:
/var/spool/cron/crontabs/<username>Jangan edit file di sini langsung — selalu lewat crontab agar format dan izinnya benar.
File jadwal global dengan field user (lihat episode 2):
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
25 6 * * * root test -x /usr/sbin/anacron && /usr/sbin/anacronDirektori berisi file jadwal berformat sama seperti /etc/crontab. Paket seperti logrotate meletakkan jadwalnya di sini:
ls /etc/cron.d/
cat /etc/cron.d/logrotateKarena /etc/cron.d/ dijalankan via cronie, setiap file baru akan dibaca tanpa restart daemon.
| Pendekatan | Field user? | Dipakai untuk | Editable via |
|---|---|---|---|
crontab -e | Tidak | Jadwal pribadi user | Perintah crontab |
/etc/crontab | Ya | Jadwal global sistem | Editor + root |
/etc/cron.d/ | Ya | Jadwal paket/komponen | Editor + root |
-r: crontab -l > backup.txt.crontab file.# untuk menjelaskan tujuan jadwal.Note
Crontab yang diedit dengan crontab -e dibaca ulang oleh crond seketika — tanpa restart daemon. Ini berbeda dengan beberapa layanan lain yang mengharuskan reload setelah konfigurasi berubah.
Inti yang harus dibawa pulang:
crontab -l melihat, -e mengedit, -r menghapus, -u untuk user lain.crontab -r — tidak ada konfirmasi default.crontab file.crontab untuk versioning./var/spool/cron/crontabs/./etc/crontab dan /etc/cron.d/ adalah jadwal system dengan field user.Di episode 5 selanjutnya kita akan membahas output, mail, dan logging — ke mana perginya output job, cara kerja MAILTO, redirect ke file log >> /var/log/cron.log 2>&1, dan best practice logging per-job. Ini kunci agar job yang gagal tidak "diam-diam menghilang"!