add bin/mib conf dual file
This commit is contained in:
98
bin/dual/cdr_io_proc.sh
Normal file
98
bin/dual/cdr_io_proc.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
|
||||
omcbinpath="/usr/local/omc/bin"
|
||||
progname=$0
|
||||
|
||||
function debug_log()
|
||||
{
|
||||
watcherLogFile=/usr/local/omc/log/cdr_io_proc`date +%Y%m%d`.log
|
||||
timestr=`date +%H:%M:%S`
|
||||
#echo $timestr
|
||||
echo "$timestr $1" >> $watcherLogFile
|
||||
}
|
||||
|
||||
lockfile="/tmp/`basename $progname|awk -F. '{print $1}'`.lock"
|
||||
if test -f $lockfile ; then
|
||||
exit
|
||||
fi
|
||||
touch $lockfile
|
||||
|
||||
|
||||
setting=`grep $progname $omcbinpath/dual/sync_source.conf`
|
||||
iodir=`echo $setting |awk -F, '{print $5}'`
|
||||
procdir=`echo $setting |awk -F, '{print $6}'`
|
||||
|
||||
localhostnameprefix=`hostname|awk -F'-' '{print $1}'`
|
||||
localhostnameid=`hostname|awk -F'-' '{print $2}'|awk -F. '{print $1}'`
|
||||
|
||||
if test $localhostnameid -eq 0 ; then
|
||||
otherhostnameid=1
|
||||
else
|
||||
otherhostnameid=0
|
||||
fi
|
||||
|
||||
otherserverip=`grep ''$localhostnameprefix'\-'$otherhostnameid'' /etc/hosts |awk '{print $1}'`
|
||||
|
||||
#echo iodir=$iodir
|
||||
#echo procdir=$procdir
|
||||
#echo localhostnameprefix=$localhostnameprefix
|
||||
#echo localhostnameid=$localhostnameid
|
||||
#echo otherhostnameid=$otherhostnameid
|
||||
#echo otherserverip=$otherserverip
|
||||
|
||||
cd $iodir
|
||||
|
||||
low=`od -x file.index|awk '{print $2}'`
|
||||
high=`od -x file.index|awk '{print $3}'`
|
||||
((declow=16#$low))
|
||||
((dechigh=16#$high))
|
||||
|
||||
#writing_index=`expr $dechigh \* 65536 + $declow`
|
||||
#writing_file=`printf "%06d.dat" $writing_index`
|
||||
#echo writing_index=$writing_index
|
||||
#echo writing_file=$writing_file
|
||||
|
||||
sendfiles=`ls *.dat`
|
||||
debug_log "Prepare to send files to $otherserverip"
|
||||
for file in $sendfiles; do
|
||||
processflag=0
|
||||
endfile="`echo $file|awk -F. '{print $1}'`.end"
|
||||
if test -f $endfile ; then
|
||||
processflag=1
|
||||
else
|
||||
if test `find . -mmin +3 -name $file|wc -l` -eq 1 ; then
|
||||
processflag=1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $processflag -eq 1 ; then
|
||||
resultfile="`echo $file|awk -F. '{print $1}'`.ret"
|
||||
sessionfile="`echo $file|awk -F. '{print $1}'`.finish"
|
||||
touch $sessionfile
|
||||
expect $omcbinpath/dual/sendfile $otherserverip www 123456 $iodir $file $procdir $iodir/$resultfile $sessionfile
|
||||
if test -f $resultfile ; then
|
||||
ret=`grep -c '^1' $resultfile`
|
||||
else
|
||||
ret=0
|
||||
fi
|
||||
if test $ret -eq 1 ; then
|
||||
debug_log "Send $file successfully"
|
||||
rm -rf $file $resultfile $sessionfile $endfile
|
||||
else
|
||||
rm -rf $resultfile $sessionfile $endfile
|
||||
debug_log "Send $file unsuccessfully"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
endfiles=`find . -mmin +5 -name '*.end'`
|
||||
for file in $endfiles; do
|
||||
datafile=`echo $file|awk -F'.end' '{print $1}'`".dat"
|
||||
if test ! -f $datafile ; then
|
||||
rm -rf $file
|
||||
debug_log "Delete $file for nouse"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
rm -rf $lockfile
|
||||
Reference in New Issue
Block a user