• 追加された行はこの色です。
  • 削除された行はこの色です。
目次
#Contents

**概要 [#yc7e630b]
プリンタの印刷枚数をSNMPにて取得し、日毎の使用枚数をCSV形式で出力する。

**動作環境 [#sfd2cc06]
以下の環境にて動作試験済み。~

|''環境''|''バージョン''|''備考''|
|OS|CentOS 5.3||
|SNMP|NetSNMP|OS付属|
|プリンタ|IPSiO SP C820/820M|RICOH系プリンタ|


**コード [#t88dba90]
 #!/bin/sh
 # ------------------------
 #  Print Counter script
 # ------------------------
 # Version : 1.0
 # date    : 2007/09/07
 
 export LANG=C
 export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
 
 
 ## Printer
 
 PRTNAME="prt-c810"
 COMMUNITY="hogehoge"
 
 
 ## SNMP oid
 
 MONO="enterprises.367.3.2.1.2.19.5.1.9.3"
 COLOR="enterprises.367.3.2.1.2.19.5.1.9.5"
 TOTAL="enterprises.367.3.2.1.2.19.1.0"
 
 
 ## LOG
 DATE=`date +%Y%m`
 
 OUTPATH=/home/system/data/IPSiO_C810/counter
 PUTFILE=$DATE".log"
 OUTPUT=$OUTPATH/$PUTFILE
 
 
 ## DATA
 TODAY=`date +%Y/%m/%d\ %a --date '1 days ago'`
 
 YDATE=`date +%Y%m --date '1 days ago'`
 YLINE=`wc -l $OUTPATH/$YDATE.log | awk '{print $1}'`
 YMONO=`sed -n -e $YLINE"p" $OUTPATH/$YDATE.log | awk 'BEGIN{FS=","}{print $2}'`
 YCOLOR=`sed -n -e $YLINE"p" $OUTPATH/$YDATE.log | awk 'BEGIN{FS=","}{print $3}'`
 YTOTAL=`sed -n -e $YLINE"p" $OUTPATH/$YDATE.log | awk 'BEGIN{FS=","}{print $4}'`
 
 snmpwalk -v1 -c $COMMUNITY $PRTNAME $TOTAL > /dev/null 2>&1
 if [ $? = 1 ]; then
  MONOCOUNT=$YMONO
  COLORCOUNT=$YCOLOR
  TOTALCOUNT=$YTOTAL
  MONODIFF=$(($MONOCOUNT-$YMONO))
  COLORDIFF=$(($COLORCOUNT-$YCOLOR))
 else
  MONOCOUNT=`snmpwalk -v1 -c $COMMUNITY $PRTNAME $MONO | awk '{print $4}'`
  COLORCOUNT=`snmpwalk -v1 -c $COMMUNITY $PRTNAME $COLOR | awk '{print $4}'`
  TOTALCOUNT=`snmpwalk -v1 -c $COMMUNITY $PRTNAME $TOTAL | awk '{print $4}'`
  MONODIFF=$(($MONOCOUNT-$YMONO))
  COLORDIFF=$(($COLORCOUNT-$YCOLOR))
 fi
 
 ## OUTPUT
 test -f $OUTPUT || echo "DATE,MONO,COLOR,TOTAL" > $OUTPUT 
 
 echo $TODAY","$MONOCOUNT","$COLORCOUNT","$TOTALCOUNT","$MONODIFF","$COLORDIFF >> $OUTPUT
 
 # EOF



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS