Ticker

6/recent/ticker-posts

CLI Linux Cron job yang berjalan setiap 10 detik, setiap 1 menit, setiap 1 jam, setiap hari jam 04:20:30

Cron di Linux tidak bisa menjalankan tugas setiap 10 detik secara langsung, karena crontab hanya mendukung resolusi per menit. Namun, kita bisa menggunakan sleep untuk mengatasi ini.

Berikut contoh cron job untuk masing-masing interval yang Anda minta:

1️⃣ Setiap 10 detik

Cron tidak mendukung interval lebih kecil dari 1 menit, jadi gunakan loop di background dengan sleep:

* * * * * for i in {1..5}; do php /path/to/script.php; sleep 10; done

💡 Penjelasan:

  • * * * * * → Jalankan setiap menit
  • for i in {1..5}; do ... done → Loop sebanyak 5 kali (karena 5 × 10 detik = 50 detik, cukup mendekati 1 menit)
  • sleep 10 → Jeda 10 detik sebelum eksekusi berikutnya

2️⃣ Setiap 1 menit

* * * * * php /path/to/script.php

💡 Penjelasan:

  • * * * * * → Jalankan setiap menit
  • php /path/to/script.php → Menjalankan script setiap menit

3️⃣ Setiap 1 jam

0 * * * * php /path/to/script.php

💡 Penjelasan:

  • 0 * * * * → Jalankan pada menit ke-0 setiap jam

4️⃣ Setiap hari jam 04:20:30

Cron hanya bisa menjalankan per menit, jadi untuk detik ke-30, gunakan sleep:

20 4 * * * sleep 30; php /path/to/script.php

💡 Penjelasan:

  • 20 4 * * * → Jalankan setiap hari pukul 04:20
  • sleep 30; → Tunggu 30 detik sebelum menjalankan skrip

Cek Log Cron untuk Memastikan Berjalan

grep CRON /var/log/syslog

🔹 Pastikan PHP Path Benar
Gunakan:

which php

Jika outputnya /usr/bin/php, gunakan:

* * * * * /usr/bin/php /path/to/script.php

Posting Komentar

0 Komentar