Saya tahu bagaimana melakukannya setiap menit, tetapi bagaimana setiap 10 detik?
14
Anda tidak dapat menjadwalkan pekerjaan setiap sepuluh detik, tetapi saya kira Anda bisa menjadwalkan pekerjaan untuk berjalan setiap menit, dan tidur dalam satu putaran dalam interval 10 detik. Ini akan didasarkan pada perintah Anda yang diselesaikan sebelum interval sepuluh detik berakhir, atau Anda akan tumpang tindih ketika perintah berikutnya berjalan. Ini terasa seperti solusi genting, tetapi jika Anda dapat menjamin eksekusi perintah utama skrip yang sangat singkat, itu akan berhasil.
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done
Saya memiliki tugas serupa minggu lalu. Solusi saya adalah memperbanyak entri cron standar ke frekuensi yang diinginkan. Crontab saya terlihat seperti:
Jika Anda ingin memeriksa hasil myscript.php, misalnya untuk debugging, tambahkan saja
untuk setiap baris di crontab di atas. Kemudian stderr dan stdout diarahkan ke file log.
sumber
Saya akan menggunakan Monit dan mengatur waktu siklus ke 10 detik. Ini adalah cara bersih untuk mengelola ini di luar sistem cron.
Saya melakukan ini dengan skrip tertentu yang perlu dijalankan pada interval 15 detik.
Lihat: Bagaimana cara melakukan backup incremental / continuous zfs pool?
sumber
Cron hanya memungkinkan untuk minimum satu menit. Anda dapat mencoba ini -
sumber
Jika Anda ingin pergi sub 10 detik, misalnya 5 detik, saya sarankan untuk membuat lingkaran pekerja dengan skrip kecil seperti itu:
Jika Anda perlu pergi sub detik, tambahkan mikrodetik ke perintah tanggal.
sumber
Di sini skrip dapat dijalankan dengan intervel 10 detik ...
sumber