この人頭いいなと思ったエピソード

いつもお世話になっております。

今回は、dfコマンドを使用した制御について質問です。

dfコマンドにて調べたい領域のcapacityが90%以上なら処理を実施し、90%以下になるまで繰り返すというものを作りたいのですが、何かいい意見は御座いますでしょうか?

例:
df -k /temp
if (capactiy>90%)then
圧縮処理
eles
終了
endif
以上の処理を90以下になるまで繰り返す。

恐縮ですが、ご教授お願い致します。

A 回答 (2件)

こんな感じでどうでしょう。



CAPACITY=`df -k /temp | awk '{if ( $6 == "/temp" ) print $5}' | sed 's/%//'`

while { "${CAPACITY}" -gt 90 }
do
圧縮処理
CAPACITY=`df -k /temp | awk '{if ( $6 == "/temp" ) print $5}' | sed 's/%//'`
done


圧縮処理しても90%を切らない場合のことも考えたほうがいいですね・・・
    • good
    • 0
この回答へのお礼

大変参考になりました。

ようやくシェルが完成しました。

ありがとう御座います。

お礼日時:2005/10/28 14:52

df コマンドと read コマンドを組み合わせたらいかがでしょうか?


df の出力も制御する必要がありますので tail コマンドも必要かも。

例)
df -k /tmp | tail -1 | read env1 env2 env3 env4 env5 ...
echo $env1
echo $env2
echo $env3
echo $env4
echo $env5

※出力だけのサンプルです。
各コマンドは man コマンドを参照してください。(書ききれない ^^; )
    • good
    • 0
この回答へのお礼

参考になりました。
ありがとう御座います。

お礼日時:2005/10/28 14:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!