プログラム構文

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


#!/bin/sh

SLEEP=15
MOUNT="/ /boot"

start(){
     L_SLEEP=$(( $SLEEP - (( `date +%s` - `date --d '00:00:00' +%s` ) % $SLEEP ) ))
     [ ${L_SLEEP} -eq 0 ] && L_SLEEP=${SLEEP}

     perf ${L_SLEEP} `date --d "${L_SLEEP} seconds" +%T`
     return 0
}

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

perf(){
    local L_CNT=$1
    local L_TIME=$2
    LANG=C sar -u 1 $L_CNT | awk -v "x=$L_TIME" '$1~/Average:/{printf "%s,%3.1f,%3.1f\n",x,$8,100-$8}' >> cpu.out &
    LANG=C sar -r 1 $L_CNT | awk -v "x=$L_TIME" '$1~/Average:/{printf "%s,%3.1f\n",x,$4}'              >> mem.out &
    sleep 1
    return 0
}


main(){

    echo "Start : `date +%T`"
    echo ""

    cp /dev/null cpu.out
    cp /dev/null mem.out
    cp /dev/null disk.out

    start
    while true; do
        wait
        H_TIME=` date --d "${SLEEP} seconds" +%T`
        perf ${SLEEP} ${H_TIME}
        [ `echo ${H_TIME} | sed 's/://g'` -gt 235500 ] && break
    done
}

main &

      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