cron dan crontab
cron adalah daemon klasik Unix yang menjalankan perintah sesuai jadwal. Setiap pengguna memiliki crontab, yang diedit dengan crontab -e, dengan setiap baris memiliki lima kolom waktu (menit, jam, hari dalam sebulan, bulan, hari dalam seminggu) diikuti oleh perintah. Tugas sistem berada di /etc/crontab dan /etc/cron.d/.
1Kolom waktu
'30 2 * * *' berarti pukul 02:30 setiap hari; '*/10 * * * *' setiap sepuluh menit; '0 9 * * 1' pukul 09:00 setiap Senin. Hari ke-0 dan ke-7 dalam seminggu adalah hari Minggu.
2Berkas sistem
Berkas di /etc/cron.d/ dan /etc/crontab memiliki kolom tambahan, yaitu nama pengguna, di antara waktu dan perintah. Direktori seperti /etc/cron.daily menampung skrip yang dijalankan sekali sehari.
3Kesalahan umum
cron berjalan dengan lingkungan minimal: gunakan jalur lengkap atau tetapkan PATH di dalam crontab. Keluaran dikirim melalui email ke pemilik atau hilang; arahkan ulang ke berkas log. Karakter % memiliki makna khusus dalam baris crontab dan harus diberi garis miring terbalik sebagai \%.
4pengatur waktu systemd
Pada distribusi berbasis systemd, unit .timer adalah alternatif dengan pencatatan log di journal, penundaan acak, dan eksekusi ulang tugas yang terlewat (Persistent=true).
Cara menambahkan tugas harian
- Buka crontab Anda:
crontab -e - Tambahkan baris, contohnya: 30 2 * * *
/usr/local/bin/backup.sh>>/var/log/backup.log2>&1 - Simpan dan keluar; cron akan mendeteksi perubahan tersebut secara otomatis.
- Cantumkan daftar tugas:
crontab -l
Perhatian
crontab -rmenghapus seluruh crontab tanpa konfirmasi.- Uji perintah secara manual dengan pengguna yang sama sebelum menjadwalkannya.
Artikel terkait
- unit systemd dan systemctlApa itu unit systemd, jenis-jenis unit umum, serta cara menjalankan, menghentikan, mengaktifkan, dan memeriksa layanan dengan systemctl.
- logrotateFungsi logrotate, cara kerja konfigurasinya di /etc/logrotate.conf dan /etc/logrotate.d, serta cara menguji aturan dengan aman.
- journalctl dan systemd journalCara membaca log dengan journalctl, memeriksa kapasitas penyimpanan yang digunakan journal, dan mengosongkannya secara aman menggunakan opsi --vacuum.
Sumber
- crontab(5) man7.org
- crontab(5) (Debian) manpages.debian.org
- systemd.timer(5) man7.org
Terakhir ditinjau: