Rain WikiWindows · Linux · Android

cron dan crontab

LayananSebagian besar distribusi Linux

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

  1. Buka crontab Anda: crontab -e
  2. Tambahkan baris, contohnya: 30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
  3. Simpan dan keluar; cron akan mendeteksi perubahan tersebut secara otomatis.
  4. Cantumkan daftar tugas: crontab -l

Perhatian

  • crontab -r menghapus seluruh crontab tanpa konfirmasi.
  • Uji perintah secara manual dengan pengguna yang sama sebelum menjadwalkannya.

Sumber

  1. crontab(5) man7.org
  2. crontab(5) (Debian) manpages.debian.org
  3. systemd.timer(5) man7.org

Terakhir ditinjau: