adjust build dir
This commit is contained in:
BIN
extra/tools/balance
Normal file
BIN
extra/tools/balance
Normal file
Binary file not shown.
28
extra/tools/catch
Normal file
28
extra/tools/catch
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# != 2 ] ; then
|
||||
echo "Catch SNMP package of EMS"
|
||||
echo "Usage: catch param/subs/csta/cdr fileName"
|
||||
exit
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
"param")
|
||||
port=4958;;
|
||||
"subs")
|
||||
port=4959;;
|
||||
"csta")
|
||||
port=4954;;
|
||||
"cdr")
|
||||
port=4968;;
|
||||
"heartbeat")
|
||||
port=4957;;
|
||||
*)
|
||||
echo "Error kind $1"
|
||||
exit
|
||||
esac
|
||||
|
||||
echo "Catch ... After finishing, you can get the package from /usr/local/apache/htdocs/"
|
||||
`tcpdump -x port $port -s1500 -v -w /usr/local/apache/htdocs/$2.cap`
|
||||
parse_snmp /usr/local/apache/htdocs/$2.cap > /usr/local/apache/htdocs/$2_out.txt
|
||||
|
||||
BIN
extra/tools/cdrRestore
Normal file
BIN
extra/tools/cdrRestore
Normal file
Binary file not shown.
BIN
extra/tools/cdrRestore.tgz
Normal file
BIN
extra/tools/cdrRestore.tgz
Normal file
Binary file not shown.
59
extra/tools/changeTimeZone
Normal file
59
extra/tools/changeTimeZone
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ `whoami` != "root" ] ;then
|
||||
echo "Permission denied.Only root can execute the script"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
echo "Change the timezone of the system will restart the httpd, mysql and omcd. Are you sure to continue?(y/n)"
|
||||
read response
|
||||
|
||||
if [ "$response" != "y" ] ;then
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "Please input the timezone(Asia/Shanghai or GMT for example):"
|
||||
read timezone
|
||||
|
||||
|
||||
if [ -e /usr/share/zoneinfo/$timezone ] ;then
|
||||
if [ "${timezone}xxxx" = "xxxx" ] ;then
|
||||
echo "Input invalid."
|
||||
exit
|
||||
fi
|
||||
echo "Change the timezone to $timezone"
|
||||
else
|
||||
echo "The timezone[$timezone] does not exist"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
if [ -e /etc/php.ini ] ;then
|
||||
sed "/date.timezone/d" /etc/php.ini > /tmp/php.ini
|
||||
sed -e "/Date/a date.timezone = ${timezone}" /tmp/php.ini > /tmp/php_bak.ini
|
||||
rm -rf /tmp/php.ini
|
||||
cp -f /tmp/php_bak.ini /etc/php.ini
|
||||
chmod 755 /etc/php.ini
|
||||
rm -rf /tmp/php_bak.ini
|
||||
else
|
||||
sed "/date.timezone/d" /usr/local/lib/php.ini > /tmp/php.ini
|
||||
sed -e "/Date/a date.timezone = ${timezone}" /tmp/php.ini > /tmp/php_bak.ini
|
||||
rm -rf /tmp/php.ini
|
||||
cp -f /tmp/php_bak.ini /usr/local/lib/php.ini
|
||||
chmod 755 /usr/local/lib/php.ini
|
||||
rm -rf /tmp/php_bak.ini
|
||||
fi
|
||||
|
||||
ln -sf /usr/share/zoneinfo/$timezone /etc/localtime
|
||||
echo "ZONE=$timezone" > /etc/sysconfig/clock
|
||||
echo "UTC=true" >> /etc/sysconfig/clock
|
||||
echo "ARC=false" >> /etc/sysconfig/clock
|
||||
|
||||
omcd stop
|
||||
httpd restart
|
||||
mysql restart
|
||||
omcd start
|
||||
|
||||
echo "Finish to change the timezone to [$timezone]."
|
||||
|
||||
30
extra/tools/change_mode
Normal file
30
extra/tools/change_mode
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# -ne "3" ] ;then
|
||||
echo "Change the directory, sub-directory and file with seperate permission mode"
|
||||
echo "Usage: chmmod 755 644 directory"
|
||||
exit
|
||||
fi
|
||||
|
||||
dir_mode=$1
|
||||
file_mode=$2
|
||||
mod_dir=$3
|
||||
|
||||
#change the main directory first
|
||||
chmod $dir_mode $mod_dir
|
||||
|
||||
cd $mod_dir
|
||||
|
||||
obj_list="`ls -R`"
|
||||
for obj in $obj_list; do
|
||||
if [ `echo $obj|grep -c '^\.'` -gt 0 ] ;then
|
||||
#echo $obj is a dir
|
||||
cur_dir="`echo $obj|awk -F: '{print $1}'`"
|
||||
chmod $dir_mode $cur_dir
|
||||
else
|
||||
#echo $obj is file,cur_dir=$cur_dir chmod $dir_mode $cur_dir/$obj
|
||||
chmod $file_mode $cur_dir/$obj
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
69
extra/tools/create_csv.sh
Normal file
69
extra/tools/create_csv.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ $# != 1 ] ;then
|
||||
echo "Usage: Create the csv file according until the specified hour[0-23]"
|
||||
echo "Example: ./create_csv.sh 8";
|
||||
exit
|
||||
fi
|
||||
|
||||
mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"`
|
||||
mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"`
|
||||
|
||||
|
||||
defineTable=`/usr/bin/mysql -u$mysql_user -p$mysql_pw --skip-column-names <<_EOF_
|
||||
select defineTable from CDR_DB.cdrSource where isEnable=1 and key_sys_id=0 order by sysTypeNo;
|
||||
_EOF_`
|
||||
|
||||
cur_dir=`pwd`
|
||||
|
||||
for table in $defineTable; do
|
||||
|
||||
field_list=`/usr/bin/mysql -u$mysql_user -p$mysql_pw --skip-column-names <<_EOF_
|
||||
select fieldName from CDR_DB.$table where fileOrder>0 order by fileOrder;
|
||||
_EOF_`
|
||||
|
||||
field_str="key_sys_id,instance,"
|
||||
for field in $field_list; do
|
||||
field_str=$field_str$field","
|
||||
done
|
||||
field_str=$field_str"srcCode"
|
||||
|
||||
csvTable=`/usr/bin/mysql -u$mysql_user -p$mysql_pw --skip-column-names <<_EOF_
|
||||
select recordTable from CDR_DB.cdrSource where defineTable='$table' and key_sys_id=0 order by sysTypeNo;
|
||||
_EOF_`
|
||||
|
||||
index=0
|
||||
while [ $index -le $1 ]
|
||||
do
|
||||
|
||||
|
||||
if [ $index -le 9 ] ;then
|
||||
hour="0"$index
|
||||
else
|
||||
hour=$index
|
||||
fi
|
||||
createcsvtable=$csvTable"_"$hour
|
||||
|
||||
|
||||
count=`/usr/bin/mysql -u$mysql_user -p$mysql_pw --skip-column-names <<_EOF_
|
||||
select count(*) from CDR_DB.$createcsvtable;
|
||||
_EOF_`
|
||||
|
||||
|
||||
|
||||
outfile=$csvTable"_"`date +%Y_%m_%d`"_$hour.csv"
|
||||
`/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_
|
||||
select $field_str into outfile '$cur_dir/$outfile' from CDR_DB.$createcsvtable;
|
||||
_EOF_`
|
||||
|
||||
|
||||
echo "Create $outfile, record count=$count"
|
||||
|
||||
let index+=1
|
||||
done
|
||||
|
||||
|
||||
done
|
||||
|
||||
|
||||
|
||||
BIN
extra/tools/decodeCdrCsv/cdr_decode
Normal file
BIN
extra/tools/decodeCdrCsv/cdr_decode
Normal file
Binary file not shown.
BIN
extra/tools/decodeCdrCsv/cdr_decode_bak
Normal file
BIN
extra/tools/decodeCdrCsv/cdr_decode_bak
Normal file
Binary file not shown.
101
extra/tools/decodeCdrCsv/getCdrCsv
Normal file
101
extra/tools/decodeCdrCsv/getCdrCsv
Normal file
@@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
CONFILE=/usr/local/omc/tools/decodeCdrCsv/resume_cdr_config
|
||||
hostip=`cat $CONFILE | grep -w "RemoteIp" | awk -F "=" '{print $2}'`
|
||||
ftpUserName=`cat $CONFILE | grep -w "RemoteUserName" | awk -F "=" '{print $2}'`
|
||||
ftpPassword=`cat $CONFILE | grep -w "RemotePassword" | awk -F "=" '{print $2}'`
|
||||
ftpDir=`cat $CONFILE | grep -w "RemoteDir" | awk -F "=" '{print $2}'`
|
||||
outputDir=`cat $CONFILE | grep -w "OutputDir" | awk -F "=" '{print $2}'`
|
||||
if [[ -e /tmp/csv_orig ]]
|
||||
then
|
||||
rm -rf /tmp/csv_orig/*
|
||||
else
|
||||
mkdir -p /tmp/csv_orig
|
||||
fi
|
||||
tmpDir=/tmp/csv_orig
|
||||
|
||||
if [[ ! -e $outputDir ]]
|
||||
then
|
||||
mkdir -p $outputDir
|
||||
fi
|
||||
|
||||
cdr_type_in=$1
|
||||
date_time_from=$2
|
||||
date_time_to=$3
|
||||
|
||||
j=0
|
||||
echo $date_time_from > /tmp/cdr_decode_timeFrm;
|
||||
time_from=`cat /tmp/cdr_decode_timeFrm | awk -F "_" '{print $1 "_" $2 "_" $3}'`
|
||||
time_from_hour=`cat /tmp/cdr_decode_timeFrm | awk -F "_" '{print $4}'`
|
||||
rm -rf /tmp/cdr_decode_timeFrm
|
||||
|
||||
echo $date_time_to > /tmp/cdr_decode_timeTo;
|
||||
time_to=`cat /tmp/cdr_decode_timeTo | awk -F "_" '{print $1 "_" $2 "_" $3}'`
|
||||
time_to_hour=`cat /tmp/cdr_decode_timeTo | awk -F "_" '{print $4}'`
|
||||
rm -rf /tmp/cdr_decode_timeTo
|
||||
|
||||
if [[ "$cdr_type_in" = 'msc' || "$cdr_type_in" = 'MSC' ]]
|
||||
then
|
||||
cdr_type="cdrFromMSC"
|
||||
elif [[ "$cdr_type_in" = 'pps' || "$cdr_type_in" = 'PPS' ]]
|
||||
then
|
||||
cdr_type="cdrFromPPS"
|
||||
elif [[ "$cdr_type_in" = 'wxc1' || "$cdr_type_in" = 'WXC1' ]]
|
||||
then
|
||||
cdr_type="cdrFromMSCwxc"
|
||||
else
|
||||
echo "[Error] We can't decode this type:$cdr_type_in !"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ $time_to != $time_from || $time_to_hour < $time_from_hour ]]
|
||||
then
|
||||
echo "[Erroe] set time error!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ftp_to_get_cdrFile()
|
||||
{
|
||||
echo "test ftp -i -n $1"
|
||||
ftp -i -n $1 <<haha
|
||||
user $2 $3
|
||||
binary
|
||||
lcd $4
|
||||
cd $5
|
||||
mget $6
|
||||
bye
|
||||
haha
|
||||
}
|
||||
|
||||
time_from_hour=$((10#$time_from_hour))
|
||||
#echo $time_from_hour;
|
||||
time_to_hour=$((10#$time_to_hour))
|
||||
#echo $time_to_hour;
|
||||
for (( i = time_from_hour ; i <= time_to_hour; i++ ))
|
||||
do
|
||||
i=`printf "%02d\n" $i`
|
||||
if [[ $cdr_type == 'cdrFromMSCwxc' ]]
|
||||
then
|
||||
tmpname=cdrFromMSC
|
||||
fileName=${tmpname}*_${time_to}_$i.csv
|
||||
else
|
||||
fileName=${cdr_type}*_${time_to}_$i.csv
|
||||
fi
|
||||
echo "Ftp to get $fileName"
|
||||
ftp_to_get_cdrFile $hostip $ftpUserName $ftpPassword $tmpDir $ftpDir $fileName
|
||||
if [ ! -e $tmpDir/$fileName ]
|
||||
then
|
||||
j=$[$j + 1]
|
||||
echo "[Error] fail to get the $fileName file."
|
||||
fi
|
||||
i=$((10#$i))
|
||||
done
|
||||
|
||||
if [ $j != $[ $time_to_hour - $time_from_hour + 1 ] ]
|
||||
then
|
||||
/usr/local/omc/tools/decodeCdrCsv/cdr_decode $cdr_type $date_time_from $date_time_to $outputDir
|
||||
echo "Finish decode the cdr data!"
|
||||
# rm -rf /tmp/csv_orig/*
|
||||
else
|
||||
echo " [Error] no decode the cdr data"
|
||||
fi
|
||||
exit 0
|
||||
5
extra/tools/decodeCdrCsv/resume_cdr_config
Normal file
5
extra/tools/decodeCdrCsv/resume_cdr_config
Normal file
@@ -0,0 +1,5 @@
|
||||
RemoteIp=172.25.196.111
|
||||
RemoteUserName=www
|
||||
RemotePassword=123456
|
||||
RemoteDir=/tmp
|
||||
OutputDir=/usr/local/omc/tools/decodeCdrCsv/csv_decode
|
||||
BIN
extra/tools/decodeCdrCsv_wxc1.tgz
Normal file
BIN
extra/tools/decodeCdrCsv_wxc1.tgz
Normal file
Binary file not shown.
BIN
extra/tools/expect-5.42.1-1.i386.rpm
Normal file
BIN
extra/tools/expect-5.42.1-1.i386.rpm
Normal file
Binary file not shown.
23
extra/tools/expect/checkExpect
Normal file
23
extra/tools/expect/checkExpect
Normal file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
#created by hewd
|
||||
#Date:2002-11-27
|
||||
|
||||
###############################################################################
|
||||
#Check and install expect
|
||||
###############################################################################
|
||||
if(test -x /usr/bin/expect ) then
|
||||
if(test -x /usr/local/bin/expect ) then
|
||||
echo "Check Expect OK!"
|
||||
else
|
||||
cp ./expect /usr/local/bin
|
||||
echo "Install expect to /usr/local/bin ok!"
|
||||
fi
|
||||
else
|
||||
cp ./expect /usr/bin
|
||||
chmod 755 /usr/bin/expect
|
||||
cp ./expect /usr/local/bin
|
||||
chmod 755 /usr/local/bin/expect
|
||||
cp ./libexpect* /usr/lib
|
||||
chmod 755 /usr/local/bin/libexpect*
|
||||
echo "Install expect ok!"
|
||||
fi
|
||||
BIN
extra/tools/expect/expect
Normal file
BIN
extra/tools/expect/expect
Normal file
Binary file not shown.
581
extra/tools/functions
Normal file
581
extra/tools/functions
Normal file
@@ -0,0 +1,581 @@
|
||||
# -*-Shell-script-*-
|
||||
#
|
||||
# functions This file contains functions to be used by most or all
|
||||
# shell scripts in the /etc/init.d directory.
|
||||
#
|
||||
|
||||
TEXTDOMAIN=initscripts
|
||||
|
||||
# Make sure umask is sane
|
||||
umask 022
|
||||
|
||||
# Set up a default search path.
|
||||
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
|
||||
export PATH
|
||||
|
||||
# Get a sane screen width
|
||||
[ -z "${COLUMNS:-}" ] && COLUMNS=80
|
||||
|
||||
#[ -z "${CONSOLETYPE:-}" ] && CONSOLETYPE="`/sbin/consoletype`"
|
||||
|
||||
if [ -f /etc/sysconfig/i18n -a -z "${NOLOCALE:-}" ] ; then
|
||||
. /etc/profile.d/lang.sh
|
||||
fi
|
||||
|
||||
# Read in our configuration
|
||||
if [ -z "${BOOTUP:-}" ]; then
|
||||
if [ -f /etc/sysconfig/init ]; then
|
||||
. /etc/sysconfig/init
|
||||
else
|
||||
# This all seem confusing? Look in /etc/sysconfig/init,
|
||||
# or in /usr/doc/initscripts-*/sysconfig.txt
|
||||
BOOTUP=color
|
||||
RES_COL=60
|
||||
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
|
||||
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
|
||||
SETCOLOR_FAILURE="echo -en \\033[1;31m"
|
||||
SETCOLOR_WARNING="echo -en \\033[1;33m"
|
||||
SETCOLOR_NORMAL="echo -en \\033[0;39m"
|
||||
LOGLEVEL=1
|
||||
fi
|
||||
if [ "$CONSOLETYPE" = "serial" ]; then
|
||||
BOOTUP=serial
|
||||
MOVE_TO_COL=
|
||||
SETCOLOR_SUCCESS=
|
||||
SETCOLOR_FAILURE=
|
||||
SETCOLOR_WARNING=
|
||||
SETCOLOR_NORMAL=
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "${BOOTUP:-}" != "verbose" ]; then
|
||||
INITLOG_ARGS="-q"
|
||||
else
|
||||
INITLOG_ARGS=
|
||||
fi
|
||||
|
||||
# Interpret escape sequences in an fstab entry
|
||||
fstab_decode_str() {
|
||||
fstab-decode echo "$1"
|
||||
}
|
||||
|
||||
# Check if $pid (could be plural) are running
|
||||
checkpid() {
|
||||
local i
|
||||
|
||||
for i in $* ; do
|
||||
[ -d "/proc/$i" ] && return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
__readlink() {
|
||||
ls -bl "$@" 2>/dev/null| awk '{ print $NF }'
|
||||
}
|
||||
|
||||
# __umount_loop awk_program fstab_file first_msg retry_msg umount_args
|
||||
# awk_program should process fstab_file and return a list of fstab-encoded
|
||||
# paths; it doesn't have to handle comments in fstab_file.
|
||||
__umount_loop() {
|
||||
local remaining sig=
|
||||
local retry=3
|
||||
|
||||
remaining=$(LC_ALL=C awk "/^#/ {next} $1" "$2" | sort -r)
|
||||
while [ -n "$remaining" -a "$retry" -gt 0 ]; do
|
||||
if [ "$retry" -eq 3 ]; then
|
||||
action "$3" fstab-decode umount $5 $remaining
|
||||
else
|
||||
action "$4" fstab-decode umount $5 $remaining
|
||||
fi
|
||||
sleep 2
|
||||
remaining=$(LC_ALL=C awk "/^#/ {next} $1" "$2" | sort -r)
|
||||
[ -z "$remaining" ] && break
|
||||
fstab-decode /sbin/fuser -k -m $sig $remaining >/dev/null
|
||||
sleep 5
|
||||
retry=$(($retry -1))
|
||||
sig=-9
|
||||
done
|
||||
}
|
||||
|
||||
# Similar to __umount loop above, specialized for loopback devices
|
||||
__umount_loopback_loop() {
|
||||
local remaining devremaining sig=
|
||||
local retry=3
|
||||
|
||||
remaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}' /proc/mounts)
|
||||
devremaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" {print $1}' /proc/mounts)
|
||||
while [ -n "$remaining" -a "$retry" -gt 0 ]; do
|
||||
if [ "$retry" -eq 3 ]; then
|
||||
action $"Unmounting loopback filesystems: " \
|
||||
fstab-decode umount $remaining
|
||||
else
|
||||
action $"Unmounting loopback filesystems (retry):" \
|
||||
fstab-decode umount $remaining
|
||||
fi
|
||||
for dev in $devremaining ; do
|
||||
losetup $dev > /dev/null 2>&1 && \
|
||||
action $"Detaching loopback device $dev: " \
|
||||
losetup -d $dev
|
||||
done
|
||||
remaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}' /proc/mounts)
|
||||
devremaining=$(awk '$1 ~ /^\/dev\/loop/ && $2 != "/" {print $1}' /proc/mounts)
|
||||
[ -z "$remaining" ] && break
|
||||
fstab-decode /sbin/fuser -k -m $sig $remaining >/dev/null
|
||||
sleep 5
|
||||
retry=$(($retry -1))
|
||||
sig=-9
|
||||
done
|
||||
}
|
||||
|
||||
# __proc_pids {program} [pidfile]
|
||||
# Set $pid to pids from /var/run* for {program}. $pid should be declared
|
||||
# local in the caller.
|
||||
# Returns LSB exit code for the 'status' action.
|
||||
__pids_var_run() {
|
||||
local base=${1##*/}
|
||||
local pid_file=${2:-/var/run/$base.pid}
|
||||
|
||||
pid=
|
||||
if [ -f "$pid_file" ] ; then
|
||||
local line p
|
||||
read line < "$pid_file"
|
||||
for p in $line ; do
|
||||
[ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
|
||||
done
|
||||
if [ -n "$pid" ]; then
|
||||
return 0
|
||||
fi
|
||||
return 1 # "Program is dead and /var/run pid file exists"
|
||||
fi
|
||||
return 3 # "Program is not running"
|
||||
}
|
||||
|
||||
# Output PIDs of matching processes, found using pidof
|
||||
__pids_pidof() {
|
||||
pidof -c -o $$ -o $PPID -o %PPID -x "$1" || \
|
||||
pidof -c -o $$ -o $PPID -o %PPID -x "${1##*/}"
|
||||
}
|
||||
|
||||
|
||||
# A function to start a program.
|
||||
daemon() {
|
||||
# Test syntax.
|
||||
local gotbase= force= nicelevel corelimit
|
||||
local pid base= user= nice= bg= pid_file=
|
||||
nicelevel=0
|
||||
while [ "$1" != "${1##[-+]}" ]; do
|
||||
case $1 in
|
||||
'') echo $"$0: Usage: daemon [+/-nicelevel] {program}"
|
||||
return 1;;
|
||||
--check)
|
||||
base=$2
|
||||
gotbase="yes"
|
||||
shift 2
|
||||
;;
|
||||
--check=?*)
|
||||
base=${1#--check=}
|
||||
gotbase="yes"
|
||||
shift
|
||||
;;
|
||||
--user)
|
||||
user=$2
|
||||
shift 2
|
||||
;;
|
||||
--user=?*)
|
||||
user=${1#--user=}
|
||||
shift
|
||||
;;
|
||||
--pidfile)
|
||||
pid_file=$2
|
||||
shift 2
|
||||
;;
|
||||
--pidfile=?*)
|
||||
pid_file=${1#--pidfile=}
|
||||
shift
|
||||
;;
|
||||
--force)
|
||||
force="force"
|
||||
shift
|
||||
;;
|
||||
[-+][0-9]*)
|
||||
nice="nice -n $1"
|
||||
shift
|
||||
;;
|
||||
*) echo $"$0: Usage: daemon [+/-nicelevel] {program}"
|
||||
return 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Save basename.
|
||||
[ -z "$gotbase" ] && base=${1##*/}
|
||||
|
||||
# See if it's already running. Look *only* at the pid file.
|
||||
__pids_var_run "$base" "$pid_file"
|
||||
|
||||
[ -n "$pid" -a -z "$force" ] && return
|
||||
|
||||
# make sure it doesn't core dump anywhere unless requested
|
||||
corelimit="ulimit -S -c ${DAEMON_COREFILE_LIMIT:-0}"
|
||||
|
||||
# if they set NICELEVEL in /etc/sysconfig/foo, honor it
|
||||
[ -n "${NICELEVEL:-}" ] && nice="nice -n $NICELEVEL"
|
||||
|
||||
# Echo daemon
|
||||
[ "${BOOTUP:-}" = "verbose" -a -z "${LSB:-}" ] && echo -n " $base"
|
||||
|
||||
# And start it up.
|
||||
if [ -z "$user" ]; then
|
||||
$nice /bin/bash -c "$corelimit >/dev/null 2>&1 ; $*"
|
||||
else
|
||||
$nice runuser -s /bin/bash - $user -c "$corelimit >/dev/null 2>&1 ; $*"
|
||||
fi
|
||||
[ "$?" -eq 0 ] && success $"$base startup" || failure $"$base startup"
|
||||
}
|
||||
|
||||
# A function to stop a program.
|
||||
killproc() {
|
||||
local RC killlevel= base pid pid_file= delay
|
||||
|
||||
RC=0; delay=3
|
||||
# Test syntax.
|
||||
if [ "$#" -eq 0 ]; then
|
||||
echo $"Usage: killproc [-p pidfile] [ -d delay] {program} [-signal]"
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" = "-p" ]; then
|
||||
pid_file=$2
|
||||
shift 2
|
||||
fi
|
||||
if [ "$1" = "-d" ]; then
|
||||
delay=$2
|
||||
shift 2
|
||||
fi
|
||||
|
||||
|
||||
# check for second arg to be kill level
|
||||
[ -n "${2:-}" ] && killlevel=$2
|
||||
|
||||
# Save basename.
|
||||
base=${1##*/}
|
||||
|
||||
# Find pid.
|
||||
__pids_var_run "$1" "$pid_file"
|
||||
if [ -z "$pid_file" -a -z "$pid" ]; then
|
||||
pid="$(__pids_pidof "$1")"
|
||||
fi
|
||||
|
||||
# Kill it.
|
||||
if [ -n "$pid" ] ; then
|
||||
[ "$BOOTUP" = "verbose" -a -z "${LSB:-}" ] && echo -n "$base "
|
||||
if [ -z "$killlevel" ] ; then
|
||||
if checkpid $pid 2>&1; then
|
||||
# TERM first, then KILL if not dead
|
||||
kill -TERM $pid >/dev/null 2>&1
|
||||
usleep 100000
|
||||
if checkpid $pid && sleep 1 &&
|
||||
checkpid $pid && sleep $delay &&
|
||||
checkpid $pid ; then
|
||||
kill -KILL $pid >/dev/null 2>&1
|
||||
usleep 100000
|
||||
fi
|
||||
fi
|
||||
checkpid $pid
|
||||
RC=$?
|
||||
[ "$RC" -eq 0 ] && failure $"$base shutdown" || success $"$base shutdown"
|
||||
RC=$((! $RC))
|
||||
# use specified level only
|
||||
else
|
||||
if checkpid $pid; then
|
||||
kill $killlevel $pid >/dev/null 2>&1
|
||||
RC=$?
|
||||
[ "$RC" -eq 0 ] && success $"$base $killlevel" || failure $"$base $killlevel"
|
||||
elif [ -n "${LSB:-}" ]; then
|
||||
RC=7 # Program is not running
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ -n "${LSB:-}" -a -n "$killlevel" ]; then
|
||||
RC=7 # Program is not running
|
||||
else
|
||||
failure $"$base shutdown"
|
||||
RC=0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Remove pid file if any.
|
||||
if [ -z "$killlevel" ]; then
|
||||
rm -f "${pid_file:-/var/run/$base.pid}"
|
||||
fi
|
||||
return $RC
|
||||
}
|
||||
|
||||
# A function to find the pid of a program. Looks *only* at the pidfile
|
||||
pidfileofproc() {
|
||||
local pid
|
||||
|
||||
# Test syntax.
|
||||
if [ "$#" = 0 ] ; then
|
||||
echo $"Usage: pidfileofproc {program}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
__pids_var_run "$1"
|
||||
[ -n "$pid" ] && echo $pid
|
||||
return 0
|
||||
}
|
||||
|
||||
# A function to find the pid of a program.
|
||||
pidofproc() {
|
||||
local RC pid pid_file=
|
||||
|
||||
# Test syntax.
|
||||
if [ "$#" = 0 ]; then
|
||||
echo $"Usage: pidofproc [-p pidfile] {program}"
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" = "-p" ]; then
|
||||
pid_file=$2
|
||||
shift 2
|
||||
fi
|
||||
fail_code=3 # "Program is not running"
|
||||
|
||||
# First try "/var/run/*.pid" files
|
||||
__pids_var_run "$1" "$pid_file"
|
||||
RC=$?
|
||||
if [ -n "$pid" ]; then
|
||||
echo $pid
|
||||
return 0
|
||||
fi
|
||||
|
||||
[ -n "$pid_file" ] && return $RC
|
||||
__pids_pidof "$1" || return $RC
|
||||
}
|
||||
|
||||
status() {
|
||||
local base pid pid_file=
|
||||
|
||||
# Test syntax.
|
||||
if [ "$#" = 0 ] ; then
|
||||
echo $"Usage: status [-p pidfile] {program}"
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" = "-p" ]; then
|
||||
pid_file=$2
|
||||
shift 2
|
||||
fi
|
||||
base=${1##*/}
|
||||
|
||||
# First try "pidof"
|
||||
pid="$(__pids_pidof "$1")"
|
||||
if [ -n "$pid" ]; then
|
||||
echo $"${base} (pid $pid) is running..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Next try "/var/run/*.pid" files
|
||||
__pids_var_run "$1" "$pid_file"
|
||||
case "$?" in
|
||||
0)
|
||||
echo $"${base} (pid $pid) is running..."
|
||||
return 0
|
||||
;;
|
||||
1)
|
||||
echo $"${base} dead but pid file exists"
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
# See if /var/lock/subsys/${base} exists
|
||||
if [ -f /var/lock/subsys/${base} ]; then
|
||||
echo $"${base} dead but subsys locked"
|
||||
return 2
|
||||
fi
|
||||
echo $"${base} is stopped"
|
||||
return 3
|
||||
}
|
||||
|
||||
echo_success() {
|
||||
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
|
||||
echo -n "["
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
|
||||
echo -n $" OK "
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
|
||||
echo -n "]"
|
||||
echo -ne "\r"
|
||||
return 0
|
||||
}
|
||||
|
||||
echo_failure() {
|
||||
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
|
||||
echo -n "["
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
|
||||
echo -n $"FAILED"
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
|
||||
echo -n "]"
|
||||
echo -ne "\r"
|
||||
return 1
|
||||
}
|
||||
|
||||
echo_passed() {
|
||||
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
|
||||
echo -n "["
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
|
||||
echo -n $"PASSED"
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
|
||||
echo -n "]"
|
||||
echo -ne "\r"
|
||||
return 1
|
||||
}
|
||||
|
||||
echo_warning() {
|
||||
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
|
||||
echo -n "["
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
|
||||
echo -n $"WARNING"
|
||||
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
|
||||
echo -n "]"
|
||||
echo -ne "\r"
|
||||
return 1
|
||||
}
|
||||
|
||||
# Inform the graphical boot of our current state
|
||||
update_boot_stage() {
|
||||
if [ "$GRAPHICAL" = "yes" -a -x /usr/bin/rhgb-client ]; then
|
||||
/usr/bin/rhgb-client --update="$1"
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# Log that something succeeded
|
||||
success() {
|
||||
#if [ -z "${IN_INITLOG:-}" ]; then
|
||||
# initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
|
||||
#fi
|
||||
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_success
|
||||
return 0
|
||||
}
|
||||
|
||||
# Log that something failed
|
||||
failure() {
|
||||
local rc=$?
|
||||
#if [ -z "${IN_INITLOG:-}" ]; then
|
||||
# initlog $INITLOG_ARGS -n $0 -s "$1" -e 2
|
||||
#fi
|
||||
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_failure
|
||||
[ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --details=yes
|
||||
return $rc
|
||||
}
|
||||
|
||||
# Log that something passed, but may have had errors. Useful for fsck
|
||||
passed() {
|
||||
local rc=$?
|
||||
#if [ -z "${IN_INITLOG:-}" ]; then
|
||||
# initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
|
||||
#fi
|
||||
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_passed
|
||||
return $rc
|
||||
}
|
||||
|
||||
# Log a warning
|
||||
warning() {
|
||||
local rc=$?
|
||||
#if [ -z "${IN_INITLOG:-}" ]; then
|
||||
# initlog $INITLOG_ARGS -n $0 -s "$1" -e 1
|
||||
#fi
|
||||
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_warning
|
||||
return $rc
|
||||
}
|
||||
|
||||
# Run some action. Log its output.
|
||||
action() {
|
||||
local STRING rc
|
||||
|
||||
STRING=$1
|
||||
echo -n "$STRING "
|
||||
if [ "${RHGB_STARTED:-}" != "" -a -w /etc/rhgb/temp/rhgb-console ]; then
|
||||
echo -n "$STRING " > /etc/rhgb/temp/rhgb-console
|
||||
fi
|
||||
shift
|
||||
"$@" && success $"$STRING" || failure $"$STRING"
|
||||
rc=$?
|
||||
echo
|
||||
if [ "${RHGB_STARTED:-}" != "" -a -w /etc/rhgb/temp/rhgb-console ]; then
|
||||
if [ "$rc" = "0" ]; then
|
||||
echo_success > /etc/rhgb/temp/rhgb-console
|
||||
else
|
||||
echo_failure > /etc/rhgb/temp/rhgb-console
|
||||
[ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --details=yes
|
||||
fi
|
||||
echo > /etc/rhgb/temp/rhgb-console
|
||||
fi
|
||||
return $rc
|
||||
}
|
||||
|
||||
# returns OK if $1 contains $2
|
||||
strstr() {
|
||||
[ "${1#*$2*}" = "$1" ] && return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# Confirm whether we really want to run this service
|
||||
confirm() {
|
||||
[ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --details=yes
|
||||
while : ; do
|
||||
echo -n $"Start service $1 (Y)es/(N)o/(C)ontinue? [Y] "
|
||||
read answer
|
||||
if strstr $"yY" "$answer" || [ "$answer" = "" ] ; then
|
||||
return 0
|
||||
elif strstr $"cC" "$answer" ; then
|
||||
rm -f /var/run/confirm
|
||||
[ -x /usr/bin/rhgb-client ] && /usr/bin/rhgb-client --details=no
|
||||
return 2
|
||||
elif strstr $"nN" "$answer" ; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# resolve a device node to its major:minor numbers in decimal or hex
|
||||
get_numeric_dev() {
|
||||
(
|
||||
fmt="%d:%d"
|
||||
if [ "$1" == "hex" ]; then
|
||||
fmt="%x:%x"
|
||||
fi
|
||||
ls -lH "$2" | awk '{ sub(/,/, "", $5); printf("'"$fmt"'", $5, $6); }'
|
||||
) 2>/dev/null
|
||||
}
|
||||
|
||||
# find the working name for a running dm device with the same table as one
|
||||
# that dmraid would create
|
||||
resolve_dm_name() {
|
||||
(
|
||||
name="$1"
|
||||
|
||||
line=$(/sbin/dmraid -ay -t --ignorelocking | \
|
||||
egrep -iv "no block devices found|No RAID disks" | \
|
||||
awk -F ':' "{ if (\$1 ~ /^$name$/) { print \$2; }}")
|
||||
for x in $line ; do
|
||||
if [[ "$x" =~ "^/dev/" ]] ; then
|
||||
majmin=$(get_numeric_dev dec $x)
|
||||
line=$(echo "$line" | sed -e "s,$x\( \|$\),$majmin\1,g")
|
||||
fi
|
||||
done
|
||||
line=$(echo "$line" | sed -e 's/^[ \t]*//' -e 's/[ \t]*$//' \
|
||||
-e 's/ core [12] [[:digit:]]\+ / core [12] [[:digit:]]\\+ /')
|
||||
/sbin/dmsetup table | \
|
||||
sed -n -e "s/.*\(no block devices found\|No devices found\).*//" \
|
||||
-e "s/\(^[^:]\+\): $line\( \+$\|$\)/\1/p"
|
||||
) 2>/dev/null
|
||||
}
|
||||
|
||||
# Check whether file $1 is a backup or rpm-generated file and should be ignored
|
||||
is_ignored_file() {
|
||||
case "$1" in
|
||||
*~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
return 1
|
||||
}
|
||||
# A sed expression to filter out the files that is_ignored_file recognizes
|
||||
__sed_discard_ignored_files='/\(~\|\.bak\|\.orig\|\.rpmnew\|\.rpmorig\|\.rpmsave\)$/d'
|
||||
11
extra/tools/monitor.sh
Normal file
11
extra/tools/monitor.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"`
|
||||
mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"`
|
||||
|
||||
|
||||
/usr/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_
|
||||
show processlist;
|
||||
_EOF_
|
||||
|
||||
|
||||
33
extra/tools/myipcrm
Normal file
33
extra/tools/myipcrm
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
ipcrm='To delete ipcrm shm'
|
||||
|
||||
#program name
|
||||
if [ `whoami` != "root" ] ; then
|
||||
echo "Permission denied!"
|
||||
exit
|
||||
fi
|
||||
|
||||
ipcsm=`ipcs -m`
|
||||
echo "$ipcsm"
|
||||
|
||||
ipcsm=`ipcs -m|grep '0x'|awk '{print $2}'`
|
||||
for FILE in $ipcsm; do
|
||||
ipcrm shm $FILE
|
||||
done
|
||||
|
||||
ipcsm=`ipcs -s`
|
||||
echo "$ipcsm"
|
||||
|
||||
ipcsm=`ipcs -s|grep '0x'|awk '{print $2}'`
|
||||
for FILE in $ipcsm; do
|
||||
ipcrm sem $FILE
|
||||
done
|
||||
|
||||
ipcsm=`ipcs -q`
|
||||
echo "$ipcsm"
|
||||
|
||||
ipcsm=`ipcs -q|grep '0x'|awk '{print $2}'`
|
||||
for FILE in $ipcsm; do
|
||||
ipcrm msg $FILE
|
||||
done
|
||||
89
extra/tools/paramExport
Normal file
89
extra/tools/paramExport
Normal file
@@ -0,0 +1,89 @@
|
||||
#/bin/sh
|
||||
#created by hewd 2002-11-26
|
||||
|
||||
ReleaseDir=~www
|
||||
ParamDir=paramFile
|
||||
OmcDir=/usr/local/omc
|
||||
BssVersion=iw05_01.050
|
||||
srcDataDir=/usr/local/mysql/data
|
||||
dstDataDir=data
|
||||
|
||||
###############################################################################
|
||||
#Check the user must be root
|
||||
###############################################################################
|
||||
|
||||
if [ `whoami` != "root" ] ; then
|
||||
echo "Error:"
|
||||
echo " Just root user can execute this program! "
|
||||
echo " "
|
||||
exit
|
||||
fi
|
||||
|
||||
####################################################
|
||||
echo "=======Backuping bss's cfg files======"
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||
bssId="bss-"$i
|
||||
ip4="`expr 100 + $i`"
|
||||
bssIp=172.18.128.$ip4
|
||||
isConnect=`ping -c 1 -i 1 -w 1 $bssIp 2>>/dev/null |grep -c time`
|
||||
if [ $isConnect -gt 0 ] ; then
|
||||
echo "$bssId connected"
|
||||
cd /home/build/${BssVersion}/compile
|
||||
mkdir -p cfgBak/$bssId
|
||||
cd cfgBak/$bssId
|
||||
rm -rf *
|
||||
../../hdget $bssIp $BssVersion/compile/cfg
|
||||
echo "========Backup $bssId's cfg file finished======="
|
||||
else
|
||||
echo "$bssId cannot connect"
|
||||
fi
|
||||
done
|
||||
chown -R build:omc /home/build
|
||||
|
||||
cd $ReleaseDir
|
||||
mkdir -p $ParamDir
|
||||
cd $ParamDir
|
||||
rm -rf *
|
||||
|
||||
cp -rf /home/build/iw05_01.050/compile/cfgBak ./
|
||||
|
||||
|
||||
#stop process
|
||||
omcd stop
|
||||
mysqld stop
|
||||
|
||||
#copy Import program
|
||||
cp -f /usr/local/omc/tools/paramImport ./
|
||||
chmod 755 paramImport
|
||||
|
||||
####################################################
|
||||
echo "=======Backuping omc's conf files======"
|
||||
cp -rf $OmcDir/bin/conf ./
|
||||
|
||||
####################################################
|
||||
echo "=======Backuping omc's database files======"
|
||||
|
||||
mkdir -p $dstDataDir
|
||||
|
||||
needCopyDirList="AUC_DB BssOmcDb CDR_DB CSTA_DB EIR_DB HLR_DB \
|
||||
OBJ_* OMC_PUB PPS_DB SN_DB VLR_DB VMS_DB mysql"
|
||||
|
||||
for tmpDir in $needCopyDirList ; do
|
||||
cp -rf $srcDataDir/$tmpDir $dstDataDir
|
||||
echo "cp -rf $srcDataDir/$tmpDir $dstDataDir"
|
||||
done
|
||||
|
||||
####################################################
|
||||
echo "=======Packeting all config files======"
|
||||
cd $ReleaseDir
|
||||
dateStr=`date +%Y-%m-%d`
|
||||
hostName=`hostname -s`
|
||||
tar zvcf param_${hostName}_${dateStr}.tgz ./$ParamDir
|
||||
rm -rf ./$ParamDir
|
||||
|
||||
echo "========Export Parameter File Finished========"
|
||||
#start process
|
||||
mysqld start
|
||||
omcd start
|
||||
|
||||
exit
|
||||
67
extra/tools/paramImport
Normal file
67
extra/tools/paramImport
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
#created by hewd 2002-11-26
|
||||
|
||||
ParamDir=`pwd`
|
||||
|
||||
dstDataDir=/usr/local/mysql/data
|
||||
srcDataDir=./data
|
||||
|
||||
echo "=======Import bss's cfg files======"
|
||||
if [ -d "./cfgBak" ] ; then
|
||||
cp -rf ./cfgBak /home/build/iw05_01.050/compile/
|
||||
chown -R build:omc /home/build
|
||||
else
|
||||
echo "No find ./cfgBak"
|
||||
fi
|
||||
|
||||
####################################################
|
||||
#echo "=======Importing bss's cfg files======"
|
||||
#for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||
# bssId="bss-"$i
|
||||
# ip4="`expr 100 + $i`"
|
||||
# bssIp=172.18.128.$ip4
|
||||
# isConnect=`ping -c 1 $bssIp 2>>/dev/null |grep -c time`
|
||||
# if [ $isConnect -gt 0 ] ; then
|
||||
# cd /home/build/${BssVersion}/compile
|
||||
# cd cfgBak/${bssId}/cfg
|
||||
# ../../hdput $bssIp $BssVersion/compile/cfg
|
||||
# echo "========Import $bssId's cfg file finished======="
|
||||
# else
|
||||
# echo "$bssId cannot connect"
|
||||
# fi
|
||||
#done
|
||||
######################################################
|
||||
|
||||
omcd stop
|
||||
mysqld stop
|
||||
|
||||
echo "=======Import OMC's conf files======"
|
||||
if [ -d "./conf" ] ; then
|
||||
mv -f /usr/local/omc/bin/conf/ /usr/local/omc/bin/conf_old
|
||||
cp -rf ./conf /usr/local/omc/bin/
|
||||
else
|
||||
echo "No find ./conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=======Import OMC's database files======"
|
||||
|
||||
if [ -d "$srcDataDir" ] ; then
|
||||
needCopyDirList="AUC_DB BssOmcDb CDR_DB CSTA_DB EIR_DB HLR_DB \
|
||||
OBJ_* OMC_PUB OMC_WORK PPS_DB SN_DB VLR_DB VMS_DB mysql"
|
||||
for tmpDir in $needCopyDirList ; do
|
||||
cp -rf $srcDataDir/$tmpDir $dstDataDir
|
||||
echo " $srcDataDir/$tmpDir -> $dstDataDir/$tmpDir"
|
||||
done
|
||||
|
||||
chown -R mysql:mysql $dstDataDir
|
||||
else
|
||||
echo "No find $srcDataDir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Import parameter Finished"
|
||||
|
||||
mysqld start
|
||||
omcd start
|
||||
exit
|
||||
68
extra/tools/paramImport.80
Normal file
68
extra/tools/paramImport.80
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/bin/sh
|
||||
#created by hewd 2002-11-26
|
||||
|
||||
ParamDir=`pwd`
|
||||
|
||||
dstDataDir=/usr/local/mysql/data
|
||||
srcDataDir=./data
|
||||
|
||||
echo "=======Import bss's cfg files======"
|
||||
if [ -d "./cfgBak" ] ; then
|
||||
cp -rf ./cfgBak /home/build/iw05_01.050/compile/
|
||||
chown -R build:omc /home/build
|
||||
else
|
||||
echo "No find ./cfgBak"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
####################################################
|
||||
#echo "=======Importing bss's cfg files======"
|
||||
#for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||
# bssId="bss-"$i
|
||||
# ip4="`expr 100 + $i`"
|
||||
# bssIp=172.18.128.$ip4
|
||||
# isConnect=`ping -c 1 $bssIp 2>>/dev/null |grep -c time`
|
||||
# if [ $isConnect -gt 0 ] ; then
|
||||
# cd /home/build/${BssVersion}/compile
|
||||
# cd cfgBak/${bssId}/cfg
|
||||
# ../../hdput $bssIp $BssVersion/compile/cfg
|
||||
# echo "========Import $bssId's cfg file finished======="
|
||||
# else
|
||||
# echo "$bssId cannot connect"
|
||||
# fi
|
||||
#done
|
||||
######################################################
|
||||
|
||||
omcd stop
|
||||
mysqld stop
|
||||
|
||||
echo "=======Import OMC's conf files======"
|
||||
if [ -d "./conf" ] ; then
|
||||
mv -f /usr/local/omc/bin/conf/ /usr/local/omc/bin/conf_old
|
||||
cp -rf ./conf /usr/local/omc/bin/
|
||||
else
|
||||
echo "No find ./conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=======Import OMC's database files======"
|
||||
|
||||
if [ -d "$srcDataDir" ] ; then
|
||||
needCopyDirList="AUC_DB BssOmcDb CDR_DB CSTA_DB EIR_DB HLR_DB \
|
||||
OBJ_* OMC_PUB OMC_WORK PPS_DB SN_DB VLR_DB VMS_DB mysql"
|
||||
for tmpDir in $needCopyDirList ; do
|
||||
cp -rf $srcDataDir/$tmpDir $dstDataDir
|
||||
echo " $srcDataDir/$tmpDir -> $dstDataDir/$tmpDir"
|
||||
done
|
||||
|
||||
chown -R mysql:mysql $dstDataDir
|
||||
else
|
||||
echo "No find $srcDataDir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Import parameter Finished"
|
||||
|
||||
mysqld start
|
||||
omcd start
|
||||
exit
|
||||
67
extra/tools/paramImport.82
Normal file
67
extra/tools/paramImport.82
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
#created by hewd 2002-11-26
|
||||
|
||||
ParamDir=`pwd`
|
||||
|
||||
dstDataDir=/usr/local/mysql/data
|
||||
srcDataDir=./data
|
||||
|
||||
echo "=======Import bss's cfg files======"
|
||||
if [ -d "./cfgBak" ] ; then
|
||||
cp -rf ./cfgBak /home/build/iw05_01.050/compile/
|
||||
chown -R build:omc /home/build
|
||||
else
|
||||
echo "No find ./cfgBak"
|
||||
fi
|
||||
|
||||
####################################################
|
||||
#echo "=======Importing bss's cfg files======"
|
||||
#for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||
# bssId="bss-"$i
|
||||
# ip4="`expr 100 + $i`"
|
||||
# bssIp=172.18.128.$ip4
|
||||
# isConnect=`ping -c 1 $bssIp 2>>/dev/null |grep -c time`
|
||||
# if [ $isConnect -gt 0 ] ; then
|
||||
# cd /home/build/${BssVersion}/compile
|
||||
# cd cfgBak/${bssId}/cfg
|
||||
# ../../hdput $bssIp $BssVersion/compile/cfg
|
||||
# echo "========Import $bssId's cfg file finished======="
|
||||
# else
|
||||
# echo "$bssId cannot connect"
|
||||
# fi
|
||||
#done
|
||||
######################################################
|
||||
|
||||
omcd stop
|
||||
mysqld stop
|
||||
|
||||
echo "=======Import OMC's conf files======"
|
||||
if [ -d "./conf" ] ; then
|
||||
mv -f /usr/local/omc/bin/conf/ /usr/local/omc/bin/conf_old
|
||||
cp -rf ./conf /usr/local/omc/bin/
|
||||
else
|
||||
echo "No find ./conf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=======Import OMC's database files======"
|
||||
|
||||
if [ -d "$srcDataDir" ] ; then
|
||||
needCopyDirList="AUC_DB BssOmcDb CDR_DB CSTA_DB EIR_DB HLR_DB \
|
||||
OBJ_* OMC_PUB OMC_WORK PPS_DB SN_DB VLR_DB VMS_DB mysql"
|
||||
for tmpDir in $needCopyDirList ; do
|
||||
cp -rf $srcDataDir/$tmpDir $dstDataDir
|
||||
echo " $srcDataDir/$tmpDir -> $dstDataDir/$tmpDir"
|
||||
done
|
||||
|
||||
chown -R mysql:mysql $dstDataDir
|
||||
else
|
||||
echo "No find $srcDataDir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Import parameter Finished"
|
||||
|
||||
mysqld start
|
||||
omcd start
|
||||
exit
|
||||
BIN
extra/tools/paramImport.tgz
Normal file
BIN
extra/tools/paramImport.tgz
Normal file
Binary file not shown.
BIN
extra/tools/parse_snmp
Normal file
BIN
extra/tools/parse_snmp
Normal file
Binary file not shown.
BIN
extra/tools/phpMyAdmin.tgz
Normal file
BIN
extra/tools/phpMyAdmin.tgz
Normal file
Binary file not shown.
BIN
extra/tools/sas_snmp_install.tgz
Normal file
BIN
extra/tools/sas_snmp_install.tgz
Normal file
Binary file not shown.
3534
extra/tools/sas_snmp_install/LSI-AdapterSAS.mib
Normal file
3534
extra/tools/sas_snmp_install/LSI-AdapterSAS.mib
Normal file
File diff suppressed because it is too large
Load Diff
3841
extra/tools/sas_snmp_install/LSI-AdapterSASIR.mib
Normal file
3841
extra/tools/sas_snmp_install/LSI-AdapterSASIR.mib
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
0
extra/tools/sas_snmp_install/gensassnmp.log
Normal file
0
extra/tools/sas_snmp_install/gensassnmp.log
Normal file
BIN
extra/tools/sas_snmp_install/lm_sensors-2.10.7-4.el5.i386.rpm
Normal file
BIN
extra/tools/sas_snmp_install/lm_sensors-2.10.7-4.el5.i386.rpm
Normal file
Binary file not shown.
431
extra/tools/sas_snmp_install/lsi_mrdsnmpd.conf
Normal file
431
extra/tools/sas_snmp_install/lsi_mrdsnmpd.conf
Normal file
@@ -0,0 +1,431 @@
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
# LSI Logic Corporation
|
||||
# 1621 Barber Lane
|
||||
# Milpitas, California 95035
|
||||
#----------------------------------------------------------------------------
|
||||
# (c)Copyright 2004, LSI Logic Corporation All Rights Reserved.
|
||||
# Information contained herein is confidential to and remains the property
|
||||
# of LSI Logic Corporation
|
||||
#
|
||||
# # LSI Logic's source code is an unpublished work and the use of copyright
|
||||
# notice does not imply otherwise. This source code contains confidential,
|
||||
# trade secret material of LSI Logic corporation. Any attempt or
|
||||
# participation in deciphering, decoding, reverse engineering or
|
||||
# in any way altering the source code is strictly prohibited, unless the
|
||||
# prior written consent of LSI Logic corporation.
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# snmpd.conf:
|
||||
# An example configuration file for configuring the ucd-snmp snmpd agent.
|
||||
#
|
||||
###############################################################################
|
||||
#
|
||||
# This file is intended to only be as a starting point. Many more
|
||||
# configuration directives exist than are mentioned in this file. For
|
||||
# full details, see the snmpd.conf(5) manual page.
|
||||
#
|
||||
# All lines beginning with a '#' are comments and are intended for you
|
||||
# to read. All other lines are configuration commands for the agent.
|
||||
|
||||
###############################################################################
|
||||
# Access Control
|
||||
###############################################################################
|
||||
|
||||
# As shipped, the snmpd demon will only respond to queries on the
|
||||
# system mib group until this file is replaced or modified for
|
||||
# security purposes. Examples are shown below about how to increase the
|
||||
# level of access.
|
||||
|
||||
# By far, the most common question I get about the agent is "why won't
|
||||
# it work?", when really it should be "how do I configure the agent to
|
||||
# allow me to access it?"
|
||||
#
|
||||
# By default, the agent responds to the "public" community for read
|
||||
# only access, if run out of the box without any configuration file in
|
||||
# place. The following examples show you other ways of configuring
|
||||
# the agent so that you can change the community names, and give
|
||||
# yourself write access to the mib tree as well.
|
||||
#
|
||||
# For more information, read the FAQ as well as the snmpd.conf(5)
|
||||
# manual page.
|
||||
|
||||
####/usr/src/redhat/RPMS/i386/1030snmp-2.7-1.i386.rpm
|
||||
# First, map the community name "public" into a "security name"
|
||||
|
||||
# sec.name source community
|
||||
com2sec snmpclient 127.0.0.1 public
|
||||
com2sec snmpclient 172.28.136.112 public
|
||||
com2sec snmpclient 147.145.17.68 public
|
||||
com2sec snmpclient 147.145.18.161 public
|
||||
com2sec snmpclient 147.145.17.246 public
|
||||
com2sec snmpclient 147.145.18.215 public
|
||||
# add your ip here to access snmpd from a client machine
|
||||
com2sec snmpclient 155.226.201.71 public
|
||||
com2sec snmpclient 155.226.201.44 public
|
||||
com2sec snmpclient 155.226.202.58 public
|
||||
com2sec snmpclient 172.18.128.1 public
|
||||
# Second, map the security name into a group name:
|
||||
|
||||
# groupName securityModel securityName
|
||||
group RWGroup v1 snmpclient
|
||||
group RWGroup v2c snmpclient
|
||||
|
||||
####
|
||||
# Third, create a view for us to let the group have rights to:
|
||||
|
||||
# name incl/excl subtree mask(optional)
|
||||
view all included .1 80
|
||||
|
||||
####
|
||||
# Finally, grant the group read-only access to the systemview view.
|
||||
|
||||
# group context sec.model sec.level prefix read write notif
|
||||
access RWGroup "" any noauth exact all all all
|
||||
# the following dlmod is required for SATA SNMP
|
||||
#dlmod megaRaid /usr/lib/libmegaRaid.so
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Here is a commented out example configuration that allows less
|
||||
# restrictive access.
|
||||
|
||||
# YOU SHOULD CHANGE THE "COMMUNITY" TOKEN BELOW TO A NEW KEYWORD ONLY
|
||||
# KNOWN AT YOUR SITE. YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO
|
||||
# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE.
|
||||
|
||||
## sec.name source community
|
||||
#com2sec local localhost COMMUNITY
|
||||
#com2sec mynetwork NETWORK/24 COMMUNITY
|
||||
|
||||
## group.name sec.model sec.name
|
||||
#group MyRWGroup any local
|
||||
#group MyROGroup any mynetwork
|
||||
#
|
||||
#group MyRWGroup any otherv3user
|
||||
#...
|
||||
|
||||
## incl/excl subtree mask
|
||||
#view all included .1 80
|
||||
|
||||
## -or just the mib2 tree-
|
||||
|
||||
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
|
||||
|
||||
|
||||
## context sec.model sec.level prefix read write notif
|
||||
#access MyROGroup "" any noauth 0 all none none
|
||||
#access MyRWGroup "" any noauth 0 all all all
|
||||
|
||||
###############################################################################
|
||||
# System contact information
|
||||
#
|
||||
|
||||
# It is also possible to set the sysContact and sysLocation system
|
||||
# variables through the snmpd.conf file:
|
||||
|
||||
syslocation Unknown (edit /etc/snmp/snmpd.conf)
|
||||
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
|
||||
|
||||
# Example output of snmpwalk:
|
||||
# % snmpwalk -v 1 localhost -c public system
|
||||
# system.sysDescr.0 = "SunOS name sun4c"
|
||||
# system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.sunos4
|
||||
# system.sysUpTime.0 = Timeticks: (595637548) 68 days, 22:32:55
|
||||
# system.sysContact.0 = "Me <me@somewhere.org>"
|
||||
# system.sysName.0 = "name"
|
||||
# system.sysLocation.0 = "Right here, right now."
|
||||
# system.sysServices.0 = 72
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Process checks.
|
||||
#
|
||||
# The following are examples of how to use the agent to check for
|
||||
# processes running on the host. The syntax looks something like:
|
||||
#
|
||||
# proc NAME [MAX=0] [MIN=0]
|
||||
#
|
||||
# NAME: the name of the process to check for. It must match
|
||||
# exactly (ie, http will not find httpd processes).
|
||||
# MAX: the maximum number allowed to be running. Defaults to 0.
|
||||
# MIN: the minimum number to be running. Defaults to 0.
|
||||
|
||||
#
|
||||
# Examples (commented out by default):
|
||||
#
|
||||
|
||||
# Make sure mountd is running
|
||||
#proc mountd
|
||||
|
||||
# Make sure there are no more than 4 ntalkds running, but 0 is ok too.
|
||||
#proc ntalkd 4
|
||||
|
||||
# Make sure at least one sendmail, but less than or equal to 10 are running.
|
||||
#proc sendmail 10 1
|
||||
|
||||
# A snmpwalk of the process mib tree would look something like this:
|
||||
#
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.2
|
||||
# enterprises.ucdavis.procTable.prEntry.prIndex.1 = 1
|
||||
# enterprises.ucdavis.procTable.prEntry.prIndex.2 = 2
|
||||
# enterprises.ucdavis.procTable.prEntry.prIndex.3 = 3
|
||||
# enterprises.ucdavis.procTable.prEntry.prNames.1 = "mountd"
|
||||
# enterprises.ucdavis.procTable.prEntry.prNames.2 = "ntalkd"
|
||||
# enterprises.ucdavis.procTable.prEntry.prNames.3 = "sendmail"
|
||||
# enterprises.ucdavis.procTable.prEntry.prMin.1 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prMin.2 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prMin.3 = 1
|
||||
# enterprises.ucdavis.procTable.prEntry.prMax.1 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prMax.2 = 4
|
||||
# enterprises.ucdavis.procTable.prEntry.prMax.3 = 10
|
||||
# enterprises.ucdavis.procTable.prEntry.prCount.1 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prCount.2 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prCount.3 = 1
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrorFlag.1 = 1
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrorFlag.2 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrorFlag.3 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrMessage.1 = "No mountd process running."
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrMessage.2 = ""
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrMessage.3 = ""
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrFix.1 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrFix.2 = 0
|
||||
# enterprises.ucdavis.procTable.prEntry.prErrFix.3 = 0
|
||||
#
|
||||
# Note that the errorFlag for mountd is set to 1 because one is not
|
||||
# running (in this case an rpc.mountd is, but thats not good enough),
|
||||
# and the ErrMessage tells you what's wrong. The configuration
|
||||
# imposed in the snmpd.conf file is also shown.
|
||||
#
|
||||
# Special Case: When the min and max numbers are both 0, it assumes
|
||||
# you want a max of infinity and a min of 1.
|
||||
#
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Executables/scripts
|
||||
#
|
||||
|
||||
#
|
||||
# You can also have programs run by the agent that return a single
|
||||
# line of output and an exit code. Here are two examples.
|
||||
#
|
||||
# exec NAME PROGRAM [ARGS ...]
|
||||
#
|
||||
# NAME: A generic name.
|
||||
# PROGRAM: The program to run. Include the path!
|
||||
# ARGS: optional arguments to be passed to the program
|
||||
|
||||
# a simple hello world
|
||||
|
||||
#exec echotest /bin/echo hello world
|
||||
|
||||
# Run a shell script containing:
|
||||
#
|
||||
# #!/bin/sh
|
||||
# echo hello world
|
||||
# echo hi there
|
||||
# exit 35
|
||||
#
|
||||
# Note: this has been specifically commented out to prevent
|
||||
# accidental security holes due to someone else on your system writing
|
||||
# a /tmp/shtest before you do. Uncomment to use it.
|
||||
#
|
||||
#exec shelltest /bin/sh /tmp/shtest
|
||||
|
||||
# Then,
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8
|
||||
# enterprises.ucdavis.extTable.extEntry.extIndex.1 = 1
|
||||
# enterprises.ucdavis.extTable.extEntry.extIndex.2 = 2
|
||||
# enterprises.ucdavis.extTable.extEntry.extNames.1 = "echotest"
|
||||
# enterprises.ucdavis.extTable.extEntry.extNames.2 = "shelltest"
|
||||
# enterprises.ucdavis.extTable.extEntry.extCommand.1 = "/bin/echo hello world"
|
||||
# enterprises.ucdavis.extTable.extEntry.extCommand.2 = "/bin/sh /tmp/shtest"
|
||||
# enterprises.ucdavis.extTable.extEntry.extResult.1 = 0
|
||||
# enterprises.ucdavis.extTable.extEntry.extResult.2 = 35
|
||||
# enterprises.ucdavis.extTable.extEntry.extOutput.1 = "hello world."
|
||||
# enterprises.ucdavis.extTable.extEntry.extOutput.2 = "hello world."
|
||||
# enterprises.ucdavis.extTable.extEntry.extErrFix.1 = 0
|
||||
# enterprises.ucdavis.extTable.extEntry.extErrFix.2 = 0
|
||||
|
||||
# Note that the second line of the /tmp/shtest shell script is cut
|
||||
# off. Also note that the exit status of 35 was returned.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# disk checks
|
||||
#
|
||||
|
||||
# The agent can check the amount of available disk space, and make
|
||||
# sure it is above a set limit.
|
||||
|
||||
# disk PATH [MIN=100000]
|
||||
#
|
||||
# PATH: mount path to the disk in question.
|
||||
# MIN: Disks with space below this value will have the Mib's errorFlag set.
|
||||
# Default value = 100000.
|
||||
|
||||
# Check the / partition and make sure it contains at least 10 megs.
|
||||
|
||||
#disk / 10000
|
||||
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.9
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskIndex.1 = 0
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskPath.1 = "/" Hex: 2F
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskDevice.1 = "/dev/dsk/c201d6s0"
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskMinimum.1 = 10000
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskTotal.1 = 837130
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskAvail.1 = 316325
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskUsed.1 = 437092
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskPercent.1 = 58
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskErrorFlag.1 = 0
|
||||
# enterprises.ucdavis.diskTable.dskEntry.diskErrorMsg.1 = ""
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# load average checks
|
||||
#
|
||||
|
||||
# load [1MAX=12.0] [5MAX=12.0] [15MAX=12.0]
|
||||
#
|
||||
# 1MAX: If the 1 minute load average is above this limit at query
|
||||
# time, the errorFlag will be set.
|
||||
# 5MAX: Similar, but for 5 min average.
|
||||
# 15MAX: Similar, but for 15 min average./usr/src/redhat/RPMS/i386/1030snmp-2.7-1.i386.rpm
|
||||
|
||||
# Check for loads:
|
||||
#load 12 14 14
|
||||
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.10
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.1 = 1
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.2 = 2
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveIndex.3 = 3
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveNames.1 = "Load-1"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveNames.2 = "Load-5"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveNames.3 = "Load-15"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.1 = "0.49" Hex: 30 2E 34 39
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.2 = "0.31" Hex: 30 2E 33 31
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveLoad.3 = "0.26" Hex: 30 2E 32 36
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.1 = "12.00"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.2 = "14.00"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveConfig.3 = "14.00"
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.1 = 0
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.2 = 0
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrorFlag.3 = 0
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.1 = ""
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.2 = ""
|
||||
# enterprises.ucdavis.loadTable.laEntry.loadaveErrMessage.3 = ""
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Extensible sections.
|
||||
#
|
||||
|
||||
# This alleviates the multiple line output problem found in the
|
||||
# previous executable mib by placing each mib in its own mib table:
|
||||
|
||||
# Run a shell script containing:
|
||||
#
|
||||
# #!/bin/sh
|
||||
# echo hello world
|
||||
# echo hi there
|
||||
# exit 35
|
||||
#
|
||||
# Note: this has been specifically commented out to prevent
|
||||
# accidental security holes due to someone else on your system writing
|
||||
# a /tmp/shtest before you do. Uncomment to use it.
|
||||
#
|
||||
# exec .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest
|
||||
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.50
|
||||
# enterprises.ucdavis.50.1.1 = 1
|
||||
# enterprises.ucdavis.50.2.1 = "shelltest"
|
||||
# enterprises.ucdavis.50.3.1 = "/bin/sh /tmp/shtest"
|
||||
# enterprises.ucdavis.50.100.1 = 35
|
||||
# enterprises.ucdavis.50.101.1 = "hello world."
|
||||
# enterprises.ucdavis.50.101.2 = "hi there."
|
||||
# enterprises.ucdavis.50.102.1 = 0
|
||||
|
||||
# Now the Output has grown to two lines, and we can see the 'hi
|
||||
# there.' output as the second line from our shell script.
|
||||
#
|
||||
# Note that you must alter the mib.txt file to be correct if you want
|
||||
# the .50.* outputs above to change to reasonable text descriptions.
|
||||
|
||||
# Other ideas:
|
||||
#
|
||||
# exec .1.3.6.1.4.1.2021.51 ps /bin/ps
|
||||
# exec .1.3.6.1.4.1.2021.52 top /usr/local/bin/top
|
||||
# exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Pass through control.
|
||||
#
|
||||
|
||||
# Usage:
|
||||
# pass MIBOID EXEC-COMMAND
|
||||
#
|
||||
# This will pass total control of the mib underneath the MIBOID
|
||||
# portion of the mib to the EXEC-COMMAND.
|
||||
#
|
||||
# Note: You'll have to change the path of the passtest script to your
|
||||
# source directory or install it in the given location.
|
||||
#
|
||||
# Example: (see the script for details)
|
||||
# (commented out here since it pass .1.3.6.1.4.1.3582 /usr/sbin/gen1030mainrequires that you place the
|
||||
# script in the right location. (its not installed by default))
|
||||
|
||||
# pass .1.3.6.1.4.1.2021.255 /bin/sh /usr/local/local/passtest
|
||||
|
||||
# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.255
|
||||
# enterprises.ucdavis.255.1 = "life the universe and everything"
|
||||
# enterprises.ucdavis.255.2.1 = 42
|
||||
# enterprises.ucdavis.255.2.2 = OID: 42.42.42
|
||||
# enterprises.ucdavis.255.3 = Timeticks: (363136200) 42 days, 0:42:42
|
||||
# enterprises.ucdavis.255.4 = IpAddress: 127.0.0.1
|
||||
# enterprises.ucdavis.255.5 = 42
|
||||
# enterprises.ucdavis.255.6 = Gauge: 42
|
||||
#
|
||||
# % snmpget -v 1 localhost -c public .1.3.6.1.4.1.2021.255.5
|
||||
# enterprises.ucdavis.255.5 = 42
|
||||
#
|
||||
# % snmpset -v 1 localhost -c public .1.3.6.1.4.1.2021.255.1 s "New string"
|
||||
# enterprises.ucdavis.255.1 = "New string"
|
||||
#/usr/src/redhat/RPMS/i386/1030snmp-2.7-1.i386.rpm
|
||||
|
||||
# For specific usage information, see the man/snmpd.conf.5 manual page
|
||||
# as well as the local/passtest script used in the above example.
|
||||
|
||||
# Added for support of bcm5820 cards.
|
||||
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
|
||||
|
||||
###############################################################################
|
||||
# Further Information
|
||||
#
|
||||
# See the snmpd.conf manual page, and the output of "snmpd -H".
|
||||
|
||||
# This pass is required for MegaRAID SCSI/iSCSI SNMP
|
||||
|
||||
pass .1.3.6.1.4.1.3582 /usr/sbin/lsi_mrdsnmpmain
|
||||
|
||||
rouser McmsRaid123! priv
|
||||
createUser McmsRaid123! MD5 Sw1tch3msPass DES Sw1tch3msPriv
|
||||
|
||||
164
extra/tools/sas_snmp_install/lsi_mrdsnmpd.rh
Normal file
164
extra/tools/sas_snmp_install/lsi_mrdsnmpd.rh
Normal file
@@ -0,0 +1,164 @@
|
||||
#!/bin/sh
|
||||
#chkconfig: 2345 55 80
|
||||
#description: LSI SNMP Agent startup/shutdown script
|
||||
#Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
megadevice="megasnmp"
|
||||
agent="/usr/sbin/lsi_mrdsnmpagent"
|
||||
agent_name="lsi_mrdsnmpagent"
|
||||
pidfile="mrdsnmpd"
|
||||
vendor="LSI SNMP"
|
||||
RETVAL=0
|
||||
SNMPDCONF=/etc/snmp/snmpd.conf
|
||||
|
||||
|
||||
#A function to stop a program.
|
||||
statuscheck() {
|
||||
local base=${1}
|
||||
local pid
|
||||
|
||||
# Test syntax.
|
||||
if [ "$#" = 0 ] ; then
|
||||
echo $"Usage: status {program}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# First try "pidof"
|
||||
pid=`pidof -o $$ -o $PPID -o %PPID -x $1 || \
|
||||
pidof -o $$ -o $PPID -o %PPID -x ${base}`
|
||||
if [ -n "$pid" ]; then
|
||||
echo $"${base} (pid $pid) is running..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Next try "/var/run/*.pid" files
|
||||
if [ -f /var/run/${base}.pid ] ; then
|
||||
read pid < /var/run/${base}.pid
|
||||
if [ -n "$pid" ]; then
|
||||
echo $"${base} dead but pid file exists"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# See if /var/lock/subsys/${base} exists
|
||||
if [ -f /var/lock/subsys/${base} ]; then
|
||||
echo $"${base} dead but subsys locked"
|
||||
return 2
|
||||
fi
|
||||
echo $"${base} is stopped"
|
||||
return 3
|
||||
}
|
||||
|
||||
mykillproc()
|
||||
{
|
||||
RC=0
|
||||
# Test syntax.
|
||||
if [ $# = 0 ]; then
|
||||
echo "Usage: killproc {program} [signal]"
|
||||
return 1
|
||||
fi
|
||||
|
||||
notset=0
|
||||
# check for second arg to be kill level
|
||||
if [ "$2" != "" ] ; then
|
||||
killlevel=$2
|
||||
else
|
||||
notset=1
|
||||
killlevel="-9"
|
||||
fi
|
||||
|
||||
# Save basename.
|
||||
base=`basename $1`
|
||||
|
||||
# Find pid.
|
||||
pid=`pidof $1 | cut -f1 -d" "`
|
||||
|
||||
# Kill it.
|
||||
if [ "$pid" != "" ] ; then
|
||||
[ "$BOOTUP" = "verbose" ] && echo -n "$base "
|
||||
if [ "$notset" = "1" ] ; then
|
||||
if ps h $pid >/dev/null 2>&1; then
|
||||
# TERM first, then KILL if not dead
|
||||
kill -TERM $pid
|
||||
usleep 200000
|
||||
if ps h $pid >/dev/null >/dev/null 2>&1 ; then
|
||||
sleep 1
|
||||
if ps h $pid >/dev/null >/dev/null 2>&1 ; then
|
||||
sleep 3
|
||||
if ps h $pid >/dev/null >/dev/null 2>&1 ; then
|
||||
kill -KILL $pid
|
||||
usleep 200000
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
ps h $pid >/dev/null >/dev/null 2>&1
|
||||
RC=$?
|
||||
[ $RC -eq 0 ] && failure "$base shutdown" || success "$base shutdown"
|
||||
RC=$((! $RC))
|
||||
# use specified level only
|
||||
else
|
||||
if ps h $pid >/dev/null >/dev/null 2>&1; then
|
||||
kill $killlevel $pid
|
||||
RC=$?
|
||||
[ $RC -eq 0 ] && success "$base $killlevel" || failure "$base $killlevel"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
failure "$base shutdown"
|
||||
fi
|
||||
|
||||
# Remove pid file if any.
|
||||
if [ "$notset" = "1" ]; then
|
||||
rm -f /var/run/$base.pid
|
||||
fi
|
||||
return $RC
|
||||
}
|
||||
|
||||
|
||||
start()
|
||||
{
|
||||
echo -n "Starting $vendor Agent:"
|
||||
spid=`pidof snmpd`
|
||||
if [ "$spid" = "" ] ; then
|
||||
if [ -x /etc/init.d/snmpd ] ; then
|
||||
/etc/init.d/snmpd start
|
||||
else
|
||||
echo SNMP Daemon not started
|
||||
fi
|
||||
fi
|
||||
daemon ${agent} -c ${SNMPDCONF}
|
||||
echo
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
echo -n "Stopping $vendor Agent:"
|
||||
killproc ${agent}
|
||||
echo
|
||||
return 0
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
status)
|
||||
|
||||
statuscheck ${agent_name}
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo "$vendor Agent is not Started/Stopped"
|
||||
echo "Usage: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
BIN
extra/tools/sas_snmp_install/net-snmp-5.3.1-24.el5.i386.rpm
Normal file
BIN
extra/tools/sas_snmp_install/net-snmp-5.3.1-24.el5.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/sas_snmp_install/net-snmp-libs-5.3.1-24.el5.i386.rpm
Normal file
BIN
extra/tools/sas_snmp_install/net-snmp-libs-5.3.1-24.el5.i386.rpm
Normal file
Binary file not shown.
Binary file not shown.
BIN
extra/tools/sas_snmp_install/sas_ir_snmp-3.13-0004.i386.rpm
Normal file
BIN
extra/tools/sas_snmp_install/sas_ir_snmp-3.13-0004.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/sas_snmp_install/sas_snmp-3.13-0004.i386.rpm
Normal file
BIN
extra/tools/sas_snmp_install/sas_snmp-3.13-0004.i386.rpm
Normal file
Binary file not shown.
33
extra/tools/sas_snmp_install/sas_snmp_install
Normal file
33
extra/tools/sas_snmp_install/sas_snmp_install
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
echo "Installing lm_sensors"
|
||||
rpm -ivh lm_sensors-2.10.7-4.el5.i386.rpm
|
||||
echo "Installing net-snmp"
|
||||
rpm -ivh --nodeps net-snmp-5.3.1-24.el5.i386.rpm
|
||||
echo "Installing net-snmp-utils"
|
||||
rpm -ivh --nodeps net-snmp-utils-5.3.1-24.el5.i386.rpm
|
||||
echo "net-snmp-libs"
|
||||
rpm -ivh --nodeps net-snmp-libs-5.3.1-24.el5.i386.rpm
|
||||
cp -fr snmpd.options /etc/snmp/snmpd.options
|
||||
chmod 600 /etc/snmp/snmpd.options
|
||||
echo "Installing compat-libstdc"
|
||||
rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
|
||||
echo "Installing sas_ir_snmp-3.13-0004"
|
||||
rpm -ivh sas_ir_snmp-3.13-0004.i386.rpm
|
||||
echo "Installing sas_snmp-3.13-0004"
|
||||
rpm -ivh sas_snmp-3.13-0004.i386.rpm
|
||||
lsi_mrdsnmpd stop
|
||||
rm -fr /var/log/snmp*
|
||||
cp -fr lsi_mrdsnmpd.rh /etc/lsi_mrdsnmp/lsi_mrdsnmpd.rh
|
||||
cp -fr LSI-AdapterSAS.mib /usr/share/snmp/mibs/LSI-AdapterSAS-MIB.txt
|
||||
cp -fr LSI-AdapterSASIR.mib /usr/share/snmp/mibs/LSI-AdapterSASIR-MIB.txt
|
||||
chmod 755 /etc/lsi_mrdsnmp/lsi_mrdsnmpd.rh
|
||||
chmod 755 /etc/lsi_mrdsnmp/lsi_mrdsnmpd.suse
|
||||
chmod 755 /etc/lsi_mrdsnmp/sas/uninstall
|
||||
chmod 755 /etc/lsi_mrdsnmp/sas/install
|
||||
cp -fr lsi_mrdsnmpd.conf /etc/snmp/snmpd.conf
|
||||
chown root.sys /etc/snmp/snmpd.conf
|
||||
chmod 600 /etc/snmp/snmpd.conf
|
||||
chown root.root /etc/snmp
|
||||
cp -fr gensassnmp.log /root/
|
||||
chmod 644 /root/gensassnmp.log
|
||||
lsi_mrdsnmpd start
|
||||
4
extra/tools/sas_snmp_install/snmpd.options
Normal file
4
extra/tools/sas_snmp_install/snmpd.options
Normal file
@@ -0,0 +1,4 @@
|
||||
# snmpd command line options
|
||||
# OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
|
||||
OPTIONS="-Lf /usr/local/log/snmpd.log"
|
||||
|
||||
4
extra/tools/sftp/accout
Normal file
4
extra/tools/sftp/accout
Normal file
@@ -0,0 +1,4 @@
|
||||
RemoteServerIP=172.25.196.90
|
||||
LoginUserName=www
|
||||
LoginPassword=123456
|
||||
|
||||
120
extra/tools/sftp/sftpd
Normal file
120
extra/tools/sftp/sftpd
Normal file
@@ -0,0 +1,120 @@
|
||||
#!/usr/bin/expect -f
|
||||
|
||||
#This script interative with the remote server, and send the file to it
|
||||
|
||||
set remoteip [ exec cat accout | grep RemoteServerIP | awk -F= "{print \$2}" ]
|
||||
set username [ exec cat accout | grep LoginUserName | awk -F= "{print \$2}" ]
|
||||
set userpass [ exec cat accout | grep LoginPassword | awk -F= "{print \$2}" ]
|
||||
|
||||
set mode [lindex $argv 0]
|
||||
if { $mode == "getdir" } {
|
||||
set remote_dir [lindex $argv 1]
|
||||
} else {
|
||||
if { $mode == "putdir" } {
|
||||
set local_dir [lindex $argv 1]
|
||||
set remote_dir [lindex $argv 2]
|
||||
} else {
|
||||
puts "Usage: ./sftpd getdir remotedir"
|
||||
puts " ./sftpd putdir localdir remotedir"
|
||||
puts " ./sftpd getfile remotefile"
|
||||
puts " ./sftpd putfile localfile remotefile"
|
||||
exit
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
set work_dir [ exec pwd ]
|
||||
set remote_base_dir [ exec basename $remote_dir ]
|
||||
|
||||
proc get_directory {dir} {
|
||||
# get current local dir
|
||||
send "lpwd\n"
|
||||
expect "*sftp>*"
|
||||
set current_local_dir_str $expect_out(buffer)
|
||||
set current_local_dir [ exec echo $current_local_dir_str | grep "directory" | awk -F: "{print \$2}" | cut -c2- ]
|
||||
|
||||
# get current remote dir
|
||||
send "pwd\n"
|
||||
expect "*sftp>*"
|
||||
set current_remote_dir_str $expect_out(buffer)
|
||||
set current_remote_dir [ exec echo $current_remote_dir_str | grep "directory" | awk -F: "{print \$2}" | cut -c2- ]
|
||||
|
||||
# get remote base dir
|
||||
set current_remote_base_dir [ exec basename $dir ]
|
||||
|
||||
# check the dir whether exist
|
||||
#set result [ exec ls -l | grep -c "$current_remote_base_dir\$" ]
|
||||
#if { $result == 1 } {
|
||||
# send_user "file:$current_remote_base_dir already exist"
|
||||
# exit
|
||||
#}
|
||||
|
||||
# create the local dir
|
||||
send "lmkdir $current_remote_base_dir\n"
|
||||
expect "*sftp>*"
|
||||
|
||||
# cd remote dir
|
||||
send "cd $dir\n"
|
||||
expect "*sftp>*"
|
||||
|
||||
# cd local dir
|
||||
send "lcd $current_remote_base_dir\n"
|
||||
expect "*sftp>*"
|
||||
|
||||
|
||||
# list the file in the current remote dir
|
||||
send "ls -l\n"
|
||||
expect "*sftp>*"
|
||||
set fileliststr $expect_out(buffer)
|
||||
|
||||
# get remote files
|
||||
set runcmd [list exec echo $fileliststr | grep "^\[-d\]" | grep "^\[^d\]" | awk "{print \$9}"]
|
||||
if {[catch $runcmd res]} {
|
||||
send_user "skip"
|
||||
} else {
|
||||
set filelist [ exec echo $fileliststr | grep "^\[-d\]" | grep "^\[^d\]" | awk "{print \$9}" ]
|
||||
foreach file $filelist {
|
||||
send "get $file\n"
|
||||
expect "*sftp>*"
|
||||
}
|
||||
}
|
||||
|
||||
# process dir
|
||||
set runcmd [list exec echo $fileliststr | grep "^d" | awk "{print \$9}"]
|
||||
if {[catch $runcmd res]} {
|
||||
send_user "skip"
|
||||
} else {
|
||||
set dirlist [ exec echo $fileliststr | grep "^d" | awk "{print \$9}" ]
|
||||
foreach directory $dirlist {
|
||||
set new_remote_dir [ exec echo $dir/$directory ]
|
||||
get_directory $new_remote_dir
|
||||
}
|
||||
}
|
||||
|
||||
send "lcd ..\n"
|
||||
expect "*sftp>*"
|
||||
|
||||
send "cd $current_remote_dir\n"
|
||||
expect "*sftp>*"
|
||||
}
|
||||
|
||||
set timeout 120
|
||||
|
||||
spawn sftp $username@$remoteip
|
||||
|
||||
|
||||
expect "*(yes/no)?" {send "yes\n"; expect "*assword: "} "*assword: "
|
||||
send "$userpass\n"
|
||||
expect "*sftp>*"
|
||||
if { $mode == "getdir" } {
|
||||
get_directory $remote_dir
|
||||
} else {
|
||||
send "$local_dir $remote_dir\n"
|
||||
|
||||
expect "*sftp>*"
|
||||
}
|
||||
#set value $expect_out(buffer)
|
||||
#send "$value\n"
|
||||
#expect "*sftp>*"
|
||||
exit
|
||||
|
||||
BIN
extra/tools/snmp
Normal file
BIN
extra/tools/snmp
Normal file
Binary file not shown.
BIN
extra/tools/tftp-0.17-14.i386.rpm
Normal file
BIN
extra/tools/tftp-0.17-14.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/tftp-0.39-1.i386.rpm
Normal file
BIN
extra/tools/tftp-0.39-1.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/tftp-server-0.17-14.i386.rpm
Normal file
BIN
extra/tools/tftp-server-0.17-14.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/tftp-server-0.39-1.i386.rpm
Normal file
BIN
extra/tools/tftp-server-0.39-1.i386.rpm
Normal file
Binary file not shown.
BIN
extra/tools/vixie-cron-3.0.1-63.i386.rpm
Normal file
BIN
extra/tools/vixie-cron-3.0.1-63.i386.rpm
Normal file
Binary file not shown.
Reference in New Issue
Block a user