Cron adalah service yang mengatur dan melakukan penjadwalan ekeskusi program di Unix dan Linux. Cron bisa disamakan dengan Schedule Task Di Windows. Cron ini sangat banyak manfaatnya terutama jika anda jadi Admin Server. Sebelum lebih jauh, bayangkan anda mengelola 100 Server di Data Center, client atau manager anda minta agar setiap mhari data dibackup dan setiap minggu anda di minta merestart server tersebut. Jika hal tersebut dilakukan manual, maka anda perlu login ke masing masing server dan melakukan perintah backup atau restrart, jika di lakukan dengan cron, admin tinggal duduk manis cukup dengan sekali setting.
Contoh Penggunaan Cron
Berikut ini adalah contoh penggunaan Cron di server linux
- Melakukan backup Database/Data secara otomatis secara rutin pada waktu tertentu.
- Kirim email otomatis secara rutin pada waktu tertentu.
- Menghapus file temporary/ Cache di server secara rutin pada waktu tertentu.
- Merestart Server secara otomatis secara rutin pada waktu tertentu.
- Membuat laporan secara otomatis ( misal laporan kunjungan web ) secara rutin pada waktu tertentu.
Dan masih banyak yang lain .
File Cron
Cron merupakan program yang adminsitrasi di Linux . ada dua file penting di cron yaitu
/usr/sbin/cron
dan file konfigurasinya di
/etc/crontab
. Sebenarnya ada beberapa file lain, namun dua file ini yang paling penting.
Format File Konfigurasi crontab
Crontab mempunyai dua variasi dalam penulisannya berikut ini formatnya
#format cron # contoh restart server setiap minggu jam 00 #minute hour dayOfMonth Month DayOfWeek User Command 0 0 * * 0 root /sbin/restart
Format yang kedua setelah dayOfWeek langsung command.
#format cron # contoh restart server setiap minggu jam 0:0 #minute hour dayOfMonth Month DayOfWeek Command # contoh restart server setiap minggu 0 0 * * 0 /sbin/restart
Keterangan
minute = Menit (0-59), jika diisi * program akan dijalankan tiap menit
hour = Jam (0-23), Jika di isi * program akan dijalankan tiap jam
dayOfMonth= (1-31) Hari dalam bulan, jika di isi * maka program akan dijalankan tiap hari
month = Bulan (1-12), Jika di isi * maka akan dijalankan setiap bulan
DayOfWeek = (0-6) hari dalam minggu,0 = minggu, 6 =sabtu.
Untuk melihat isi file crontab cukup berikan perintah
sudo cat /etc/crontab
Mengedit Crontab
Untuk mengedit file crontab caranya ada dua yaitu
sudo crontab -e
atau langsung saja gunakan pico
sudo pico /etc/crontab
Contoh penjadwalan Restart Linux di crontab
berikut ini adalah contoh Eksekusi perintah dengan berbagai variasinya.
dengan format corn tanpa kolom user (format kedua). Contoh ini bisa anda gunakan untuk perintah lain di server anda.
#Restart Server setiap hari jam 5.30 AM 30 5 * * * /sbin/restart #Restart Server setiap jam 5 Pagi pada hari minggu 0 5 * * 0 /sbin/restart #Restart Server setiap bulan tanggal 1 jam 00:30 AM 30 0 1 * * /sbin/restart #Restart Server setiap tanggal 1,10,30 setiap bulan jam 1:00 AM 0 1 1,10,30 * * /sbin/restart #Restart Server setiap hari namun cuma pada tanggal 26-30 Jam 1:00 AM 0 1 26-30 * * /sbin/restart
Crontab bisa anda atur sesuka hati dan sesuai kebutuhan, jika anda ingin belajar secara interaktif dengan crontab, anda bisa menggunakan aplikasi online di crontab.guru.
Referensi
1. http://man7.org/linux/man-pages/man8/cron.8.html
2.http://man7.org/linux/man-pages/man5/crontab.5.html