回答:
10秒ごとにジョブをスケジュールすることはできませんが、ジョブを1分ごとに実行し、10秒間隔でループでスリープするようにスケジュールできると思います。これは、10秒の間隔が切れる前にコマンドが完了するか、次のコマンドが実行されるときに重複することを前提としています。これは不安定な解決策のように感じられますが、スクリプトのメインコマンドの非常に短い実行を保証できる場合は機能します。
#!/bin/bash
i=0
while [ $i -lt 6 ]; do
/run/your/command &
sleep 10
i=$(( i + 1 ))
done
先週も同様の仕事をしました。私の解決策は、標準のcronエントリを目的の頻度に乗算することでした。私のcrontabは次のようになります:
* * * * * /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 10; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 20; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 30; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 40; /usr/local/bin/php /var/www/myscript.php
* * * * * sleep 50; /usr/local/bin/php /var/www/myscript.php
デバッグなどのためにmyscript.phpの結果を確認したい場合は、追加するだけです
&> /tmp/myscipt.log
上記のcrontabの各行に。次に、stderrとstdoutがログファイルにリダイレクトされます。
* * * * * script to run
* * * * * sleep 10; script to run
* * * * * sleep 20; script to run
ここでは、10秒の間隔でスクリプトを実行できます...