業務中に思いついたツールを作成したので、
記事に残しておきます。値は例として物理メモリの使用量を
取得していますが、なんでも入れることができます。
memory.sh
#!/bin/bash
#物理メモリの使用量を出力するツール
#各種変数の設定
OUTPUT_DIR="/home/ToolAdmin/memory"
FILENAME="Memory.log"
#日付レコード関数の設定
writinglog() {
echo "[`date +%Y/%m/%d\ %H:%M:%S`]" $1
}
#メモリデータの出力
writinglog `free | grep Mem | awk '{print $3}'` >> $OUTPUT_DIR/$FILENAME
出力結果は以下の通りです。
MemoryResult.log
[2017/12/26 21:50:37] 467832
writinglog関数の部分は、
処理ログっぽくしたくてこうしましたが、
のちのちデータ可視化のために表形式にすることも考慮するならば、
[]は不要だと思うので、以下の構文もいいのかなと思いました。
writinglog関数別案.sh
#日付レコード関数の設定
writinglog() {
echo `date +%Y/%m/%d\ %H:%M:%S` $1
}
上記の通りであれば、EXCELなどの表計算ソフトに、
日付・時刻・取得したい値の3列に成形することも簡単になります。
また$1の横に$2...と比較したい値をつけ足していくこともできるので、
わりかし色々と応用して使えれそうです。
あとはcronに5分毎に出力設定にするとよいと思います。
5分毎.log
[2017/12/26 21:50:37] 467832
[2017/12/26 21:55:01] 466260
[2017/12/26 22:00:01] 470524
[2017/12/26 22:05:01] 467840
おやすみなさい。