プログラム構文

オブジェクトプログラミング2


#!/bin/sh

export LANG=C

LOG_MEM=/tmp/kk_mem.txt
LOG_CPU=/tmp/kk_cpu.txt
LOG_DSK=/tmp/kk_disk.txt

wait(){
  while true; do
    [ $(( (`date +%s` - `date --d '00:00:00' +%s`) % 300 )) -eq 0 ] && break
    sleep 1
  done
  return 0
}

main(){
  echo "host01,,,,,,,,," > ${LOG_CPU}
  echo "host01,,,,,,,,," > ${LOG_MEM}
  echo "host01,,,,,,,,," > ${LOG_DSK}

  echo "%user,%nice,%system,%iowait,%steal,%idle" >> ${LOG_CPU}
  echo "kbmemfree,kbmemused,%memused,kbbuffers,kbcached,kbcommit,
                                    %commit,kbactive,kbinact,kbdirty" >> $LOG_MEM
  echo "Time,/,/boot" >> $LOG_DSK

  while true; do
    wait
    L_TIME=`date --d '300 seconds' +%H%M%S`
    sar -u 1 300 | tail -1 | awk -v "x=${L_TIME}" 'BEGIN{printf "%s,",x} \
             {for(i=3;i<=NF;i++){printf "%s,",$i}}END{print ""}'>> $LOG_CPU &
 
    sar -r 1 300 | tail -1 | awk -v "x=${L_TIME}" 'BEGIN{printf "%s,",x} \
             {for(i=2;i<=NF;i++){printf "%s,",$i}}END{print ""}'>> $LOG_MEM &

    sleep 300 && df -k / /boot | sed '1d' | sed 's/\%//' | \
    awk -v "x=${L_TIME}" 'BEGIN{printf "%s,",x}{printf "%s,",$5}END{print ""}' >> $LOG_DSK &

    [ ${L_TIME} -ge ${LIMIT_TIME} ] && break
    sleep 1
  done
}


LIMIT_TIME=235500

main &

exit 0

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google