{Kurung Kurawal}

CronJob Linux Pada Satuan Detik

Pengguna (non-gui) Linux tentu pernah menggunakan Cron Job bukan? Suatu sistem penjadwalan eksekusi script pada Sistem Operasi Linux, mirip atau sama dengan Scheduled Task di Windows.

Dengan Cron, kita dapat menjadwalkan sebuah script untuk dijalankan pada setiap menit tertentu, atau bulan dan hari tertentu. Saya tidak akan berlama lama membahas ini, jika butuh dokumentasi lebih lanjut, bisa disini.

Yang ingin saya bahas adalah, terkadang ada kebutuhan menjalan cron hingga pada penjadwalan detik tertentu. Misalnya, setiap detik ke 10 jalankan script X. Nah, secara konfigurasi cron, hal ini belum didukung karena tingkat waktu terendah cron cuma sampai hitungan menit.

Solusinya, mungkin ada banyak. Salah satunya adalah membuat script kita menunggu untuk dieksekusi. Misalnya saya memiliki script sederhana seperti dibawah ini, sebutlah namanya TimeRecord

1
2
#!/bin/bash
date +%y-%m-%d-%H:%M:%S >> /tmp/time.txt

Script diatas hanya mencatat waktu dan ditempat di file /tmp/time.txt

Nah, untuk menjalankan script ini setiap 10 detik, saya akan menggunakan penjadwalan setiap menit, namun saya buat 6 kali, karena 1 menit ada 6 kali 10 detik, namun saya awali dengan sleep untuk jeda waktunya.

berikut contoh crontab nya

1
2
3
4
5
6
7
# m h  dom mon dow   command
*   *   *   *   *   /data/SecCron/TimeRecord
*   *   *   *   *   sleep 10; /data/SecCron/TimeRecord
*   *   *   *   *   sleep 20; /data/SecCron/TimeRecord
*   *   *   *   *   sleep 30; /data/SecCron/TimeRecord
*   *   *   *   *   sleep 40; /data/SecCron/TimeRecord
*   *   *   *   *   sleep 50; /data/SecCron/TimeRecord

Nah, untuk melihat hasil cron nya, kita bisa memonitor file /tmp/time.txt, misal nya tail -f /tmp/time.txt

Meskipun hasil script ini mungkin tidak sempurna, semoga tujuan saya memberikan gambaran menggunakan cron pada satuan detik bisa tercapai.

Demikian, semoga bisa berguna.