もっとマシな方法がある筈と思いつつ………。そして、多分 blog を漁れは過去のが見つかりそうだか。
試した環境
HP-UX 11i の sh へ張り付け
(バージョンの最後の i は、iモードの i だそうな。iモード用にチューニングしたのかな?)
UNIX系 OS 全般の Born shell、ksh 辺りで動くと思います。
# 実行間隔 (秒)
interval=3600 # 1h
interval=600 # 10m
while true
do
date
「定期的に実行するコマンド」
sec=`date "+$interval - \( \( %H \* 60 + %M \) \* 60 + %S \) %% $interval"`
sleep `sh -c "expr $sec"`
done
0時00分00秒を基準に、interval 秒毎にコマンドを実行。
終了は ^C 等で。
クォートが上手くいかないので、一度 sh を通してクリーンナップ。これを無くしたいところだが………。
ちなみに、簡易版
注:定期的に実行するコマンドが interval より十分に短い場合のみ機能します。
while true
do
date
「定期的に実行するコマンド」 &
sleep $interval
done
いじょ、携帯より。書くの面倒だったなぁ。誤植には注意!
試した環境
HP-UX 11i の sh へ張り付け
(バージョンの最後の i は、iモードの i だそうな。iモード用にチューニングしたのかな?)
UNIX系 OS 全般の Born shell、ksh 辺りで動くと思います。
# 実行間隔 (秒)
interval=3600 # 1h
interval=600 # 10m
while true
do
date
「定期的に実行するコマンド」
sec=`date "+$interval - \( \( %H \* 60 + %M \) \* 60 + %S \) %% $interval"`
sleep `sh -c "expr $sec"`
done
0時00分00秒を基準に、interval 秒毎にコマンドを実行。
終了は ^C 等で。
クォートが上手くいかないので、一度 sh を通してクリーンナップ。これを無くしたいところだが………。
ちなみに、簡易版
注:定期的に実行するコマンドが interval より十分に短い場合のみ機能します。
while true
do
date
「定期的に実行するコマンド」 &
sleep $interval
done
いじょ、携帯より。書くの面倒だったなぁ。誤植には注意!