Tuesday, December 2, 2014

Konsep dan Implementasi Automatisasi Periodic Tasks Linux Menggunakan Crontab

Kali ini sedikit diulas pembahasan materi yang sangat sering digunakan oleh sistim administrator.
Tulisan ini akan membahas salah satu fitur cron di linux mulai dari konsep dan penggunaannya.

Definisi
======
Cron merupakan sebuah program/fitur di linux yang mampu mengeksekusi sebuah program lain dalam periodik waktu tertentu. Daemon crond mampu menjalankan task/program setiap menit, jam, minggu, bulan, dsb. Fitur yang sangat berguna bukan?

Konsep & Implementasi
==================
Pada dasarnya setiap user di atas OS Linux bisa menjalankan fitur ini. Beberapa command yang harus diperhatikan oleh administrator antara lain.

crontab -l ->  Mendisplay list crontab yang sedang digunakan.
crontab -r -> Menghapus semua list crontab yang sedang digunakan. (Not Recommended)
crontab -e -> Mengedit, Menambahkan, Menghapus list crontab yang akan dijalankan.

Konsep utama yang harus dipahami administrator dalam menjalankan crontab sebenarnya sangat simpel, anda harus tau rules daripada crontab itu sendiri. Anda dapat melihat rulesnya dengan menggunakan command cat /etc/crontab
Dibawah ini rules yang harus dipahami.


# .---------------- menit (0 - 59)
# |  .------------- jam (0 - 23)
# |  |  .---------- hari keberapa dalam sebulan (1 - 31)
# |  |  |  .------- bulan (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- hari keberapa dalam seminggu (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command yang akan di execute


Sudah paham? Apabila belum saya akan sertakan contoh penggunaan paling sering dilapangan pada tabel dibawah ini.

Cron Sintaks
Command Berjalan Setiap
05 * * * *
Berjalan setiap 1 jam sekali lewat 5 menit, Contoh: Pukul 00.05, 01.05, 02.05, dst.
05 02 * * *
Berjalan setiap hari pukul 02:05 AM
30 20 01 * *
Berjalan pukul 08:30 PM tiap awal bulan. (Hanya hari pertama di tiap bulan)
00 07 25 12 *
Berjalan pada tiap tanggal 25 Desember, pukul 07:00 AM
30 16 * * 5
Berjalan setiap jumat pada pukul 4:30 PM
*/5 * * * *
Berjalan setiap 5 menit sekali (0,5,10,15,….,45,50,55)
*/10 9-16 1,15 * *
Berjalan setiap 10 menit antara 9am dan 4pm (Instance terakhir akan berjalan pada jam 3.50pm) di hari pertama dan hari ke lima belas setiap bulan.
Nah dari contoh tabel diatas seharusnya sudah mengerti dong? Saya sertakan lagi contoh implementasinya.

1) Cek List Crontab 
[root@localhost ~]# crontab -l
no crontab for root

Terlihat tidak ada list cron yang digunakan oleh user root.

2) Tambakan Sebuah Task ke Crontab
[root@localhost ~]# crontab -e
# Tekan tombol esc+i, lalu tambahkan contoh task dibawah ini
*/1 * * * * echo arif >> /root/arif.txt

#Setelah selesai tekan tombol (shift + :) + q

Note : Penggunaan crontab -e sama seperti menggunakan vi ataupun vim

Dari contoh diatas maka secara otomatis setiap satu menit sekali linux akan menulis text arif kedalam file yang bernama arif.txt
Untuk penggunaan ataupun pengaturan waktu selanjutnya bisa kustom sendiri yah. 

Mudah kan? Selamat mencoba ^^

No comments:

Post a Comment