秒数指定でcronする方法は
30秒ごとにcronさせたい
これでできたんだけど、
* * * * * for i in `seq 0 30 59`;do (sleep ${i} ; sh /home/foouser/bar.sh ) & done;
30秒ごとなのに0 30 59 があるってなに?3回実行されんのか?
と思って実際にcron設定してみたら、やっぱり30秒おきになったんだよね。
なんでだろー?と思ったら親切なひとが教えてくれた。
seq 0 30 59は、0から59まで30ずつ増加する数字のリストを作るコマンドなので、そのままコマンドとして実行してみるとわかりますが、0と30が返ってきます。for文はi=0,i=30の2つを実行してるだけ。
— noda_sin (@noda_sin) November 20, 2019
0から59までの間、30秒"ごと"に実行するのね。つまり59秒時点は実行されないと。
seqとforの使い方わかってないという\(^o^)/恥!!
よりシンプルなcron秒指定
* * * * * for i in 0 30;do (sleep ${i} ; sh /home/foouser/bar.sh ) & done<br>
これでもできた。