2016-08-22 11 views
1

私はappoximately一度に30分実行されるbashスクリプトで作業しています。私はその部分が行く限り安定して走っている。私は、実行中に3分ごとに特定のコマンドを発射させる方法を探していました。私は運がなかったので、私はあなたよりもbashについてもっと知るかもしれないあなたのものに目を向ける。bashスクリプトを定期的にコマンドを実行する方法

何か提案がありますか?

ここに私がしていることがあります。

START=$(date +%s); 

while read LINE <&3; do 
END=$(date +%s); 
if [[ $(($END-$START)) > 180 || $(($END-$START)) == 180 ]] 
then 
$START=$(date +%s); 
run command 
fi 
done 
+0

[あなたがこれまでに試したこと](http://whathaveyoutried.com)を表示するように質問してください。問題のあるコードの[mcve]を含める必要があります。次に、特定の問題を解決するために役立つことができます。 [ask]も読んでください。 –

答えて

1

{ while /bin/true; do some_command; sleep 180; done; } & 
loop_pid=$! 

はその後、メインスクリプトが終了する前に、バックグラウンドループを殺します
kill $loop_pid 
2

3分ごとに実行されるようにcronジョブを追加します。

*/3 * * * * /path/to/script 
0

同じスクリプトから同じスクリプトを呼び出すこともできます。

$ cat script.sh 

#!/bin/bash 

# commands 
# commands 

sleep 1800 
sh $0 
関連する問題