Selasa, 11 Desember 2012

Eksekusi Perintah Secara Otomatis Dengan Crontab


Eksekusi Perintah Secara Otomatis Dengan Crontab

 centos esensialI. Pendahuluan
Crond merupakan sebuah daemon yang menjalankan tugas yang telah dijadwalkan berdasarkan input dari perintah crontab. Cron menyelesaikan tugas ini dengan membangunkan dirinya setiap menit dan memeriksa apakah ada cron-job yang harus dijalankannya berdasarkan crontab user. Dan harus diingat bahwa crontab adalah nama untuk daftar cron-job dan nama dari perintah untuk mengedit daftar tersebut.

II. Crontab di Centos
Untuk melihat perintah-perintah apa saja yang digunakan di crontab, tuliskan perintah:
# crontab --help
Pada umumnya, perintah yang sering dipergunakan adalah:
# crontab -e
Digunakan untuk mengedit file crontab.
# crontab -l
Digunakan untuk melihat file crontab

III. Penjadwalan Crontab
Di file crontab ada 7 blok yang dipergunakan apabila kita ingin menjadwalkan sesuatu di dalam linux.
*******
Blok IBlok IIBlok IIIBlok IVBlok VBlok VIBlok VII
Menunjukkan
Menit
(0-59)
Menunjukkan
Jam
(0-23)
Menunjukkan Tanggal
(1-31)
Menunjukkan Bulan
(1-12)
Menunjukkan Hari 
(0-6, 0=minggu)
Menunjukkan User (Optional) Menunjukkan Letak Perintah
Contoh-contoh crontab:
- 30 05 * * * root rm /var/log/httpd/*
Perintah ini menunjukkan bahwa setiap hari pukul 05.30 pagi, perintah "rm /var/log/httpd/*" akan dieksekusi, yang berarti akan menghapus semua file dalam folder /var/log/httpd
- 10 05 01 * * root /bin/sh /etc/script.sh
Perintah ini menunjukkan bahwa setiap tanggal 1 setiap bulannya akan dieksekusi kumpulan perintah pada file "/etc/script.sh"
- 30 0 1 1,6,12 * rm /home/heri/*
Perintah ini menunjukkan bahwa setiap tanggal 1 jam 00.30 pada bulan januari, juni, dan desember akan dihapus file /home/heri/*
- 5,10 0 10 * 1 rm /tmp/*
Perintah ini menunjukkan bahwa setiap jam 0:05 dan 0:10 hari senin pada tanggal 10 setiap bulan akan menghapus file-file yang ada di direktory tmp.

V. Lain-lain
1. Tanda * menunjukkan bahwa mengeksekusi perintah pada setiap waktu.
2. Apabila kita ingin menjadwalkan range pada salah satu bagian blok, maka bisa ditulis sebagai berikut:
Setiap tanggal 1,2,5,9 -->1,2,5,9 
Setiap 2 jam --> */2 atau 0-23/2
3. Untuk blok bulan dan hari bisa ditulis dengan huruf namun hanya harus menggunakan 3 huruf pertama bulan atau hari dan dalam bahasa Inggris.
Contoh untuk bulan: jan,feb
contoh untuk hari : sun,mon
4. Blok keenam yang menunjukkan user tidak selalu harus ditulis.
5. Kita bisa membuat log hasil eksekusi crontab dengan cara menulisnya di file crontab
contoh:
30 6 * * 1 PATH/dodol.sh > PATH/dodol.log
Perintah ini menunjukkan bahwa setiap jam 06.30 hari senin akan dieksekusi skrip dodol dan lognya akan di tulis di dodol.log

Referensi:

Tidak ada komentar: