Cron
Cron adalah utilitas perangkat lunak penjadwal tugas berbasis waktu dalam sistem operasi komputer mirip UNIX (Unix-like) yang digunakan untuk menjalankan tugas atau perintah secara berkala pada waktu, tanggal, atau interval yang tetap.
Singkatnya Cron adalah daemon (program yang berjalan di balik layar) yang mengeksekusi tugas atau perintah terjadwal.
Crontab
Crontab adalah cron table, program yang digunakan untuk menginstal, menghapus atau menyimpan daftar tabel yang digunakan untuk menjalankan cron daemon di Vixie cron. Setiap user dapat menjalankan perintah crontab dan mempunyai file crontab pribadi, lokasi file crontab setiap user berada di /var/spool/cron/crontabs
. File crontab setiap user tidak untuk diedit secara langsung, melainkan dengan menggunakan perintah crontab -e
.
Jadi intinya perintah crontab berfungsi untuk mengelola file crontab pengguna individu.
Dengan crontab, user dapat menjadwalkan tugas tertentu, misalnya membuat backup secara otomatis, update sistem Linux dan tugas-tugas lainnya, tugas penjadwalan otomatis atau daftar tabel dalam file crontab disebut cron jobs.
Sintaks crontab
crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r }
Options
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
Contoh penggunaan perintah crontab
Berikut contoh cara menggunakan perintah crontab
Untuk mengedit gunakan option -e
crontab -e
Atau, untuk root karena levelnya tertinggi di dalam sistem Linux, maka root mampu mengedit/menghapus crontab user tertentu, gunakan parameter user (-u
), contoh user omar
crontab -u omar -e
Menampilkan daftar table penjadwalan atau cron jobs yang sudah dibuat oleh user
crontab -l
Menghapus daftar table, ini juga akan menghapus file user crontab
crontab -r
Author crontab
- Paul Vixie
- Colin Dean
Di bawah ini contoh cara membuat tugas-tugas terjadwal atau cron jobs.
Con job sintaks
Setiap baris pada crontab file merepresentasikan tugas (job) dengan parameter seperti berikut
┌──────────── minutes (0 - 59) (menit) │ ┌──────────── hours (0 - 23) (jam) │ │ ┌──────────── day of month (1 - 31) (tanggal) │ │ │ ┌──────────── month (1 - 12) (bulan) │ │ │ │ ┌──────────── day of week (0 - 6) hari (Minggu - Sabtu; │ │ │ │ │ 7 juga artinya Minggu dalam beberapa sistem) │ │ │ │ │ │ │ │ │ │ * * * * * perintah untuk dieksekusi
Contoh cron job
Berikut contoh parameter membuat tugas (cron jobs)
Pertama, jalankan perintah crontab edit
crontab -e
Jika ini adalah kali pertama Anda mengakses crontab, dan di sistem terdapat lebih dari satu program editor teks, misalnya nano editor dan vim editor, biasanya ada pilihan editor teks yang akan digunakan untuk mengedit file crontab.
Pilih teks editor yang anda favoritkan dengan menekan pilihan tombol angka pada keyboard, kemudian tekan Enter
. Jika terlanjur dan ingin mengganti default text editor bisa dilakukan nanti, caranya bisa Anda ikuti disini.
Kemudian tambahkan baris berikut
Setiap hari sekali pada pukul 00:00 (zona waktu menyesuaikan/diatur di sistem Linux)
0 0 * * * /script_backup_otomatis.sh
Contoh setiap tiga hari sekali pada pukul 00:00
0 0 */3 * * /script_backup_otomatis.sh
Simpan
Setelah menutup teks editor, jika berhasil ada keterangan seperti ini
crontab: installing new crontab
NB: Koreksi jika ada salah!