- 追加された行はこの色です。
- 削除された行はこの色です。
目次
#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