Cron adalah sistem proses pada Linux yang berjalan atau dieksekusi secara otomatis berdasarkan waktu tertentu. Cron akan menjalankan perintah secara terjadwal berdasarkan list task yang ada pada file Cron Table (Crontab). Cron ini sangat berguna untuk menjankan perintah yang harus dijalankan berulang dalam periode tertentu, seperti backup data, indexing data, kirim email blast seperti newsletter, sistem maintenance, dll.
Lalu, bagaimana cara menggunakan cron melalui terminal Linux?
Untuk update list task pada crontab, seperti menambahkan atau menghapus task pada crontab, dapat menggunakan command dibawah ini.
$ crontab -e
Apabila kita ingin update crontab pribadi kita sendiri, bisa menggunakan command
$ crontab -u -e
Lau, jika kita ingin update crontab milik user lain, bisa menggunakan command berikut.
crontab -u username -e
Setiap ada perubahan crontab, tidak perlu untuk melakukan restart service. Cukup menjalankan command dibawah ini untuk update crontab. Command ini juga akan menampilkan list task ke layar.
$ crontab -l
Untuk menghapus crontab, dapat menjalankan perintah
$ crontab -r
Selanjutnya, ada aturan atau parameter khusus untuk menambahkan task ke dalam crontab, sehingga task dapat di eksekusi oleh sistem cron dengan benar. Adapun parameter syntax nya adalah sebagai berikut
[menit] [jam] [tanggal] [bulan] [hari] task_command
contoh :
* * * * * task_command
– – – – –
| | | | |
| | | | +—– hari (0 – 7) (Minggu=0 atau Minggu=7)
| | | +——- bulan (1 – 12)
| | +——— tanggal (1 – 31)
| +———– jam (0 – 23)
+————- menit (0 – 59)
Dalam parameter task pada crontab, ada beberapa karakter khusus, diantaranya adalah:
dan inilah beberapa contoh penggunaan parameter pada saat membuat task di crontab
#arti parameter : task dieksekusi setiap menit
* * * * * /home/user/task_command.sh
#arti parameter : task dieksekusi pada menit ke 0 di setiap jam dengan kelipatan 2 (2,4,6,8,10,12,14,dst)
0 */2 * * * /home/user/task_command.sh
#setiap hari ditengah malam
0 0 * * 0-7 /home/user/task_command.sh
#dieksekusi setiap hari Senin dan Kamis tepat jam 6 sore dan 6 pagi
0 6,18 * * 1,4 /home/user/task_command.sh
#dieksekusi setiap tanggal 31 Desember, tepat jam 00
0 0 31 12 * /home/user/task_command.sh
untuk lebih membantu kita dalam memastikan apakah parameter cron yang kita buat sudah benar atau belum, bisa untuk mengakses website ini https://crontab.guru/