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.