04 Juni 2015

Melakukan Pekerjaan Rutin Di Linux Dengan Cron

Salah satu tugas seorang sysadmin adalah secara rutin memeriksa kelancaran kerja server. Rutinitas tersebut bermacam-macam, ada yang setiap hari, seminggu sekali, sebulan sekali, setiap hari tertentu, tanggal tertentu, dan lain-lain. Pekerjaan rutin ini akan lebih mudah lagi, apabila menggunakan cron untuk menjalankan perintah di atas secara otomatis dan rutin sesuai pengaturan waktu kita. Untuk tulisan ini, saya menggunakan Ubuntu 14.04. Secara default, cron sudah terinstall pada Ubuntu 14.04, jadi tidak perlu ada tahap instalasi.

Menulis jadwal dengan crontab

Untuk membuat jadwal suatu pekerjaan, ketik perintah berikut di terminal:
crontab -e
Apabila ada menginstall lebih dari satu terminal text editor (vim, nano, ed, dll), anda akan diminta memilih. Anda bebas memilih text editor. Kemudian akan ditampilkan text script yang berisi komentar penjelasan. Lihat di bagian paling bawah, perhatikan baris seperti di bawah ini:
# m h  dom mon dow   command
Baris ini menjelaskan format penulisan jadwal yang benar sesuai dengan crontab. Keterangan format penulisan jadwal crontab adalah sebagai berikut:
SimbolArtiPenjelasanContoh
m minute (menit) Nilai menit pelaksanaan jadwal *, 0 - 59
h hour (jam) Nilai jam pelaksanaan jadwal *, 0 - 23
dom day of month (tanggal) Tanggal pelaksanaan jadwal *, 1 - 31
mon month (bulan) Pada bulan keberapa jadwal dilaksanakan *, 1 - 12
dow day of week Pada hari apa jadwal dilaksanakan *, 1 - 7 (1 adalah hari senin)
command scheduled command Perintah linux atau script yang akan dilaksanakan logwatch, wget, logrotate, dll
Beberapa hal yang perlu dijelaskan lebih lanjut antara lain:
  1. Penggunaan karakter '*' pada bagian m, h, dom, mon & dow berarti bahwa command akan dijalankan setiap menit, jam, tanggal, bulan & hari.
  2. Jika command yang djalankan adalah script khusus buatan sendiri, harus dituliskan path lengkap dari script tersebut.
  3. Jika command yang dijalankan menghasilkan file, letakkan file output tersebut di direktori dimana user yang menjalankan crontab memiliki ijin write.

Contoh-contoh penggunaan crontab

Setelah mempelajari format penulisan jadwal di crontab, berikut ini contoh-contoh penggunaan crontab. Contoh-contoh yang diberikan lebih ditekankan pada variasi waktu penjadwalan, bukan pada command yang dijalankan. Contoh command yang digunakan adalah logwatch.

  1. Menjalankan command setiap hari, setiap menit (extremeee!!).
  2. * * * * * logwatch
  3. Menjalankan command setiap hari, setiap jam.
  4. 0 * * * * logwatch
  5. Menjalankan command setiap hari, setiap 20 menit.
  6. */20 * * * * logwatch
  7. Menjalankan command setiap hari, pada menit ke-35 dan menit ke-45 setiap jam, setiap hari.
  8. 35,45 * * * * logwatch
  9. Menjalankan command setiap hari, pada menit ke-35 hingga menit ke-45 setiap jam, setiap hari.
  10. 35-45 * * * * logwatch
  11. Jalankan command pada pukul 12:00 setiap hari.
  12. 0 12 * * * logwatch
  13. Jalankan command pada pukul 12:00 hanya pada hari Selasa.
  14. 0 12 * * 2 logwatch
  15. Jalankan command pada pukul 12:00 setiap tanggal 10, setiap bulan.
  16. 0 12 10 * * logwatch
  17. Jalankan command pada pukul 12:00 setiap tanggal 10, bulan Februari.
  18. 0 12 10 2 * logwatch

Dengan menggunakan kombinasi jadwal di atas, kita bisa membuat jadwal yang sangat fleksible sesuai dengan keadaan yang kita inginkan. Jika anda tidak kesulitan membuat format jadwal crontab, anda bisa mengunjungi halaman web http://www.corntab.com/pages/crontab-gui untuk membuat jadwal crontab secara gui dan online.

Jika ada pertanyaan lebih lanjut, silakan tulis di komentar.

Sumber:

http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
https://www.pantz.org/software/cron/croninfo.html


Tidak ada komentar:

Posting Komentar