References:
http://www.catatanlepas.com/komputer/38-sistem-linux/58-eksekusi-otomatis-dengan-crontab.html
http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-autotasks-cron-configuring.html
Untuk melihat perintah-perintah apa saja yang digunakan di crontab, tuliskan perintah:
# crontab --help
-Pada umumnya, perintah yang sering dipergunakan adalah:
> Mengedit file crontab:
# crontab -e
> Melihat file crontab
# crontab -l
-Command untuk merestart Crontab
# service crond start/stop/restart
-Command service cron at boot time
# chkconfig crond on
-Penjadwalan Crontab
Di file crontab ada 7 blok yang dipergunakan apabila kita ingin menjadwalkan sesuatu di dalam linux.
* | * | * | * | * | * | * |
Blok I | Blok II | Blok III | Blok IV | Blok V | Blok VI | Blok VII |
Menit (0-59) | Jam (0-23) | Tanggal (1-31) | Bulan (1-12) | Hari (0-7) | 0 or 7 = Sunday | User (Optional) | Menunjukkan Letak Perintah |
-Contoh-contoh perintah crontab:
Perintah dibawah 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
30 05 * * * root rm /var/log/httpd/*
Perintah dibawah ini menunjukkan bahwa setiap tanggal 1 setiap bulannya akan dieksekusi kumpulan perintah pada file “/etc/script.sh”
10 05 01 * * root /bin/sh /etc/script.sh
Perintah dibawah ini menunjukkan bahwa setiap tanggal 1 jam 00.30 pada bulan januari, juni, dan desember akan dihapus file /home/heri/*
30 0 1 1,6,12 * rm /home/heri/*
Perintah dibawah ini menunjukkan bahwa setiap tanggal 1, 10, dan 15 setiap bulan tengah malam akan dijalankan script /usr/bin/freshclam dan menyimpan lognya di file /var/log/clamav/clam-update.log
0 20 * 10 1-5 /usr/bin/freshclam -l /var/log/clamav/clam-update.log
Perintah dibawah ini menunjukkan bahwa setiap jam 12.05 dan 12.10 hari senin pada tanggal 10 setiap bulan akan menghapus file-file yang ada di direktory tmp.
5,10 0 10 * 1 rm /tmp/*
-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