crontabで定期的にリソース情報採取
こんにちは。技術部のKです。
サーバの運用や保守をしていると、
障害調査などで特定の時間帯でのシステムリソース状況を確認したい!なんて時がありますよね。
今回はそんなリソース情報を定期的に取得してテキストに出力する機会がありましたので
いくつか例をご紹介します。
①5分ごとにfreeコマンドを実行してテキストに出力したい!
こんな時は以下のcrontab設定でいけます!
ワンライナーでいけます!
5分ごとにfreeコマンドを実行してテキストに出力し、一日ごとに出力ファイルを作成する内容です。
[root@server01 ~]crontab -l
*/5 * * * * /bin/sh -c ‘echo -e “$(date):\n$(free -m)” >> /data/free-$(date +\%Y-\%m-\%d).txt’ 2>&1
出力結果はこんな感じです。
[root@server01 ~]# cat /data/free-2024-03-07.txt
2024年 3月 7日 木曜日 11:30:01 JST:
total used free shared buff/cache available
Mem: 990 331 82 50 576 459
Swap: 4099 5 4094
2024年 3月 7日 木曜日 11:35:01 JST:
total used free shared buff/cache available
Mem: 990 331 82 50 576 459
Swap: 4099 5 4094
~略~
②1分ごとにiostatコマンドを実行してテキストに出力したい!
こんな時は以下のcrontab設定でいけます!
こちらもワンライナーでいけます!
1分ごとにiostatコマンドを実行してテキストに出力し、一日ごとに出力ファイルを作成する内容です。
[root@server01 ~]# crontab -l
0 0 * * * /usr/bin/iostat -xt 60 1440 > /data/sar_w-$(date +\%Y-\%m-\%d).txt 2>&1
出力結果はこんな感じです。
[root@server01 ~]# cat /data/iostat_xt-2024-03-07.txt
Linux 3.10.0-1160.108.1.el7.x86_64 (server01) 2024年03月07日 x86_64 (1 CPU)
2024年03月07日 11時00分01秒
avg-cpu: %user %nice %system %iowait %steal %idle
0.22 0.00 0.11 0.00 0.00 99.67
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.04 0.01 0.05 0.31 0.77 38.39 0.00 4.07 3.76 4.15 0.46 0.00
2024年03月07日 11時01分01秒
avg-cpu: %user %nice %system %iowait %steal %idle
0.27 0.00 0.12 0.00 0.03 99.58
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 1.82 0.00 1.00 0.00 11.44 22.80 0.00 1.17 0.00 1.17 0.30 0.03
~略~
なにかしらの参考になれば幸いです!
なにかお困りごとがありましたら弊社までご相談ください!
どうぞ今後ともネットアシストをよろしくお願い致します。