Pengen Punya WebSite instan kualitas intan ?

Tuesday, July 13, 2010

Menggunakan Crontab

Crontab adalah sebuah perintah yang sangat berguna untuk menjalankan tugas-tugas yang terjadwal, sehingga akan mengurangi waktu administrasi. Selain crontab, ada juga perintah lain: anacron dan at. Anacron digunakan untuk melakukan penjadwalan suatu perintah untuk komputer yang tidak selalu menyala terus menerus. Anacron menggunakan interval waktu harian, mingguan, dan bulanan. Sedangkan perintah at menjalankan suatu tugas sekali pada satu waktu. Yang paling sering digunakan adalah crontab, karena lebih serba guna, dan dapat diatur untuk berjalan pada sembarang interval waktu.

Dalam melakukan administrasi sistem, pengaturan cron dilakukan melalui file crontab, yang berisi jadwal waktu dan script yang harus dieksekusi. System Linux memiliki file crontab default, yaitu /etc/crontab, yang akan menjalankan beberapa script pada waktu yang telah ditentukan, misalnya setiap jam, harian, mingguan, dan bulanan.

Dasar-dasar Crontab


Terdapat dua buah file yang menentukan user mana yang bisa menggunakan crontab: /etc/cron.allow dan /etc/cron.deny. Biasanya, hanya ada file cron.deny pada sistem, dan jika file ini ada, dan terdapat nama user di dalamnya (satu user per baris), maka user tersebut tidak diperbolehkan menggunakan perintah crontab. Jika terdapat file cron.allow, maka hanya user yang namanya terdapat pada file ini yang diperbolehkan menggunakan perintah crontab.

Pada file crontab, terdapat enam field untuk setiap entry, dan masing-masing field dipisahkan oleh spasi atau tab.

  • Lima field pertama menentukan kapan perintah akan dijalankan.

  • Field ke-enam adalah perintah yang akan dijalankan.


 Minute - 0-59.
Hour - 0-23 24-hour format.
Day - 1-31 Day of the month.
Month - 1-12 Month of the year.
Weekday - 0-6 Day of the week. 0 refers to Sunday.

contoh:
# min(0-59) hours(0-23) day(1-31) month(1-12) dow(0-6) command
34 2 * * * sh /root/backup.sh

Pada contoh tersebut, perintah “sh /root/backup.sh” akan dijalankan pada jam 2:34 AM setiap hari.

Tanda bintang pada contoh tersebut berarti ‘semua waktu‘. Tanda bintang pada kolom ‘menit’ berarti “jalankan setiap menit”.

Kita bisa melakukan banyak kombinasi pengaturan waktu. Ada cara lain untuk pengaturan waktu: “20-27″ menunjukkan range; “3,4,7,8″ artinya hanya interval tersebut untuk suatu pilihan, dan */5 artinya setiap interval ke lima. Fitur lainnya, setelah cron menyelesaikan suatu tugas, kita akan mendapatkan email berisi keluaran dari perintah yang dijalankan.

Contoh lainnya


Entry crontab berikut ini akan menjalankan perintah setiap menit ke 15 dan 30 setiap jam, selama bulan Juli:
15,30 * * 7 * /usr/bin/command

Untuk menjalankan script backup setiap Minggu, Senin, dan Selasa pada jam 2:15 AM, gunakan entry berikut:
15 2 * * 0-2 sh /root/backup.sh

Untuk menjalankan script pada menit ke-12 setiap jam ke-3 setiap harinya, gunakan entry berikut:
12 */3 * * * sh /root/script.sh

Agar cron menuliskan keluaran dari suatu perintah ke dalam sebuah file log, anda bisa menambahkan entry berikut:
12 */3 * * * sh /root/script.sh >> /root/script.log 2>&1

Agar anda tidak menerima email dari cron:
12 */3 * * * sh /root/script.sh > /dev/null 2>&1

Beberapa tips dalam menggunakan cron:



  • Selalu gunakan path absolut.

  • Jika anda tidak yakin apakah tugas-tugas cron telah selesai, periksalah email anda.

  • Hapus entry cron yang sudah tidak diperlukan lagi.

  • Pastikan crond berjalan.


Perintah-perintah:


crontab -e - Mengedit file crontab yang sudah ada, atau membuat file baru.
crontab -l - Menampilkan isi file crontab.
crontab -r - Menghapus file crontab.
crontab -u - Mengedit crontab milik user.

3 comments:

Anonymous said...

gan ane mw tny?

*/10 * * * * sh /home/ane/script.sh 2>&1 >> /home/ane/log/crontab_schedule.log

pd script.sh dan crontab_schedule.log apa cma file biasa tw ditambahin script?

resumedini said...

trims artikelnya begitu bermanfaat, salam.

chris said...

thx gan kebetulan lagi mau coba2 crown job neh :)

Post a Comment