Parameter Crontab untuk Menjalankan Cronjob dalam Interval Detik

Jumat, 26 Juli 2019

Parameter Crontab untuk Menjalankan Cronjob dalam Interval Detik. Beberapa waktu lalu saya mendapati kasus dimana saya harus menjalankan cronjob namun dalam interval detik. Nah di tutorial ini saya akan sharing bagaimana cara menjalankan cron dalam interval detik.
Di tutorial ini untuk demo nya sama coba gunakan perintah untuk mencatat waktu dan dicetak di file /tmp/date.txt.
Berikut command nya
date >> /tmp/date.txt
Nah kita eksekusi perintah tersebut per 2 detik. Ini hanya contoh saja, untuk interval detiknya kalian bisa sesuaikan sendiri. Perikut perintah cronjob nya
* * * * * for i in {1..30}; do date >> /tmp/date.txt; sleep 2; done
2 adalah interval dalam detik, sementara 30 adalah jumlah dari 60 (detik) dibagi interval waktu 2 detik. Jadi kalau kalian menggunakan interval 2 detik, maka angka 30 diatas kalian ganti dengan 20 karena 60/3 adalah 20. Oke disini saya bingung kasih penjelasannya, semoga kalian paham xD.

Untuk memverifikasi, kita cek hasilnya di /tmp/date.txt
Seperti yang terlihat, cron tereksekusi setiap dua detik. Namun ada masalah disini, jika waktu yang dibutuhkan untuk menjalankan perintah bukan 0 detik, maka setiap eksekusi tambahan akan ditunda dengan jumlah yang diperlukan untuk menyelesaikan command yang berjalan. Mungkin kurang cocok diterapkan bagi yang memiliki dua atau lebih perintah cronjob.

Dan jika itu menjadi suatu masalah bagi kalian, maka solusinya adalah menggunakan cronjob dengan perintah berikut
* * * * * date >> /tmp/date.txt
* * * * * sleep 10; date >> /tmp/date.txt
* * * * * sleep 20; date >> /tmp/date.txt
* * * * * sleep 30; date >> /tmp/date.txt
* * * * * sleep 40; date >> /tmp/date.txt
* * * * * sleep 50; date >> /tmp/date.txt
Perintah diatas digunakan untuk menjalankan perintah setiap 10 detik. Untuk interval lain bisa kalian sesuaikan sendiri.

Hasilnya

Mudah bukan? oh iya, bagi yang belum tau, mengedit cron bisa dilakukan dengan mengetik
crontab -e

Sekian tutorial singkat kali ini, jika ada yang ingin ditanyakan silahkan komentar, dan jangan lupa share agar lebih banyak yang tau.

Artikel Terkait GNU/Linux ,Terminal