Sabtu, 04 Oktober 2014

Menggunakan crontab di linux

Pada postingan ini kita akan membahas tentang crontab. Crontab adalah sebuah service yang menjalankan kegiatan yang kita buat secara otomatis dan rutin. Skenario kegiatan ini biasanya dituliskan didalam shell script, lalu shell script tersebut akan dijalankan oleh crontab sesuai waktu yang ditentukan oleh administrator.

Langsung saja untuk mengedit crontab, pertama buka terminal lalu masukkan perintah sebagai berikut:

crontab -e

maka akan muncul seperti berikut:

Select an editor.  To change later, run 'select-editor'.
  1. /bin/ed
  2. /bin/nano        <---- easiest
  3. /usr/bin/vim.basic
  4. /usr/bin/vim.tiny



Choose 1-4 [2]:

Saya pribadi lebih suka menggunakan editor nano karena lebih mudah jadi saya memilih nomor 2.
Ketika sudah memasukkan pilihan maka akan muncul isi default dari crontab.conf, jadi jika dihapus pun tidak masalah. Tapi jika ingin tetap menyimpannya juga tidak apa-apa.

Berikut ini adalah format penulisan crontab:

* * * * * /home/hand/Desktop/script.sh

penjelasan dari kiri ke kanan
* pertama        = Minute (0-59)
* kedua           = Hour (0-23)
* ketiga           = Day of month (1-31)
* keempat       = month (1-12)
* kelima          = Day of week (0-6)
/home/hand/Desktop/script.sh = tempat dimana script disimpan.

Contoh :

Eksekusi setiap menit :

* * * * * /root/script.sh

Eksekusi setiap hari jam 11 malam :

1 23 * * * /root/script.sh

Eksekusi setiap sabtu jam 12 malam :

1 0 * * 6 /root/script.sh

Eksekusi setiap jam :

1 */1 * * * /root/script.sh

Eksekusi jam 4 sore setiap hari kerja (Senin - Jumat)

1 16 * * 1-5 /root/script.sh

Eksekusi setiap 20 menit :

*/20 * * * * /root/script.sh


Selain itu crontab menyediakan short code atau sejenis shortcut untuk digunakan.

@reboot     Run once, at startup
@yearly     Run once  a year     "0 0 1 1 *"
@annually   (same as  @yearly)
@monthly    Run once  a month    "0 0 1 * *"
@weekly     Run once  a week     "0 0 * * 0"
@daily      Run once  a day      "0 0 * * *"
@midnight   (same as  @daily)
@hourly     Run once  an hour    "0 * * * *"

Cara memakainya adalah seperti ini :

@daily /root/script.sh

Shortcode tersebut juga bisa diedit sesuai kebutuhan.

Ada baiknya kita mengetahui apakah crontab kita berjalan seperti seharusnya atau tidak, maka dari itu kita bisa membuat log crontab kita.

@daily /root/script.sh 2>&1 >> /home/apocalypsix/log/cronjob.log

Atau jika ingin dikirim langsung ke email (harus install mailx terlebih dahulu) :

@daily /root/script.sh 2>&1 | mail -s "Cronjob Report" apocalypsix@gmail.com


Sekian dan semoga bermanfaat..

Tidak ada komentar:

Posting Komentar