#!/bin/bash########################################################### this script for get hardsoft information to mysql ################################################### ####### #LC_ALL =chsvdir=/data/hardfiletmpdir=/data/tmpbakdir=/data/hdbak[ ! -d $TMPDIR ] && mkdir -p $TMPDIR [ ! -d $BAKDIR ] && mkdir -p $BAKDIRMYSQLBIN = '/usr/bin/mysql ' dbhost= ' localhost ' dbuser= ' hardsoft ' dbpwd= ' hardsoft-viewer ' Mysql= "$MYSQLBIN -h$DBHOST -u$DBUSER -p$DBPWD -e " db=hardsoftfor file in ' ls $HSVDIR ' docp -f $HSVDIR/$file $BAKDIRlang = ' grep ' Language: " $HSVDIR/$ File|awk -f ': ' ' {print $2} ' iconv -f $lang -t utf-8 -o $HSVDIR/$ file $HSVDIR/$file #name= $filename = ' grep ' computer name ' $HSVDIR/$file |awk -f ' = ' ' {print "$ |tr -d } ' \n\r ' os= ' grep " Os type " $HSVDIR/$ file|grep "Type" |awk -f ' = ' ' {print $2} ' |sed ' s# (. *) # #g ' |tr -d ' \n\r ' cpu= ' grep "CPU" $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |tr -d ' \n\r ' ' model= ' grep "System model" $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |tr -d ' \n\r "#get ramram= ' grep " ram size " $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |sed ' s# ram# #g ' | | tr -d ' \n\r ' #get displaycarddisplay= ' grep "Display card" $HSVDIR/$file | Awk -f ' = ' ' {print $2} ' |tr -d ' \n\r ' #get motherboardmf= ' grep ' Manufacturer ' $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |tr -d ' \n\r ' mb= ' grep ' motherboard model " $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |tr -d ' \n\r "#get hard informationstarthd= ' grep -n " Hard disk: " $HSVDIR/$file |awk -F ': ' ' {print $1} ' endhd= ' grep -n ' network card: ' $HSVDIR/$file |awk -f ': ' ' {print $1} ' #hdinfo = ' awk ' nr== $starthd +1,nr== $endhd -1 {print} " $HSVDIR/$file ' #hd = ' echo $hdinfo |awk -f ' = ' ' {print $2} ' |awk ' {print $1} ' #echo $hdinfo #hd = ' grep ' Model $hdinfo |awk -f ' = ' ' {print $2} ' |sed ' s/size//g ' |tr -d ' \n\r ' ' hd= ' awk "nr== $starthd +1,nr== $ENDHD -1 {print}" $HSVDIR/$file |grep "Model "|awk -f ' = ' ' {print $2} ' |sed ' s#\r\r# #g ' #hd = ' echo $hdinfo |sed ' s/size//g ' ' size= ' awk "nr== $starthd +1,nr== $ENDHD -1 {print}" $HSVDIR/$file |grep "Size" |awk -F ' = ' ' {print $2} ' |sed ' s#\r\r# #g ' #size = ' grep ' size ' $hdinfo |awk -f ' = ' ' {Print $2} ' |tr -d ' \n\r ' #get networknet= ' grep ' Netcard model ' $HSVDIR/$ File|awk -f ' = ' ' {print $2} ' |tr -d ' \n\r ' mac= ' grep ' mac address ' $ hsvdir/$file |awk -f ' = ' ' {print $2} ' |tr -d ' \n\r ' ip= ' grep ' ip address ' $HSVDIR/$file |awk -f ' = ' ' {print $2} ' |sed ' s/(. *)//g ' |tr -d ' \n\r ' #ip = ' cat $HSVDIR/$file |grep "ip address" |awk -f ' = ' ' {print $2} ' |sed ' s/(. *)// G ' |sed ' s#\n\r# #g ' #echo $ip #check hardware tablehunum= ' $mysql select count (*) from $db. Hardware where id= ' $name ' "' hnum= ' echo $hunum |awk ' {print $2} ' [ $hnum -ne 0 ] && $mysql "delete from $db. Hardware where id= ' $name ' "#Insert Hardware Data$mysql " insert into $db. Hardware (id,scantime,os,cpu,computer_type,rAm,display_card,motherboard_vendor,motherboard_type,harddisk_type,harddisk_size,netcard_type,mac_address,ip_ Address) values (Trim (' $name '), now (), trim (' $os '), trim (' $cpu '), trim (' $model '), trim (' $ram '), Trim (' $ Display '), trim (' $MF '), trim (' $mb '), trim (' $hd '), trim (' $size '), trim (' $net '), trim (' $mac '), trim (' $ip ')) "########### ########################################################### #get softwarestartsw= ' grep -n " Software information: " $HSVDIR/$file |awk -f ': ' ' {print $1} ' endsw= ' grep -n "Usb information:" $HSVDIR/$file |awk -f ': ' ' {print $1} ' #Check Software Tablesunum= ' $mysql select count (*) from $db. Software where id= ' $name ' "' snum= ' echo $sunum |awk ' {print $2} ' [ $snum -ne 0 ] && $mysql "delete from $db. Software where id= ' $name ' "#get software & insert software dataawk " nr== $startsw +1,nr== $endsw -1 {print} " $HSVDIR/$file | sed -e '/^$/d ' | sed "s/'//g" |sed ' s#^\s# #g ' |while read linedosoft= ' echo $line |tr -d ' \n\r ' $mysql insert into $db. Software (id,scantime,softname) values (' $name ', now (), trim (' $soft ')) "done################################## ##################################### #get usbusb= ' grep ' usb is open ' $HSVDIR/$file |WC -l ' #get adminsstartad= ' grep -n "admin users:" $HSVDIR/$file |awk -f ': ' ' {print $1} ' endad= ' grep -n ' power users: ' $HSVDIR/$file |awk -f ': ' ' { print $1} "ad= ' awk " nr== $startad +1,nr== $endad -1 {print} " $HSVDIR/$file | sed -e '/^$/d ' |sed '/administrator/d ' |sed '/domain admins/d ' #get poweruserstartpw= ' grep -n ' power users: ' $HSVDIR/$file |awk -f ': ' ' {print $1} ' endpw= ' grep -n ' fileshare information: ' $HSVDIR/$file |awk -f ': ' ' {print $1} ' pw= ' awk ' nr== $startpw +1,nr== $endpw -1 {print} ' $HSVDIR/$file | sed -e '/^$/d ' #Check access tableaunum= ' $mysql "select count (*) from $DB. Control where id= ' $name ' "' anum= ' echo $aunum |awk ' {print $2} ' [ $anum -ne 0 ] && $mysql "delete from $db. Control where id= ' $name ' "#Insert Access Data$mysql " insert into $db. Control (ID,SCANTIME,ADMIN,POWERUSER,USB) values (' $name ', now (), trim (' $ad '), trim (' $PW '), trim (' $usb ')) "##### ################################################################# #Check User Table & Insert idunum= ' $mysql select count (*) from $db. Computers where computers.id= ' $name ' "' num= ' echo $unum |awk ' {print $2} "[ $num -eq 0 ] && $mysql " insert into $db. Computers (ID) values (' $name ') "##################################################################### #mv $HSVDIR/$file $TMPDIRdone
This article is from "Maple Night" blog, please be sure to keep this source http://fengwan.blog.51cto.com/508652/1620323
Viewer.sh 20150314