init import

This commit is contained in:
bsdbc
2019-04-02 09:52:52 +08:00
parent 48f09fa63d
commit 4f1a03aeb9
122 changed files with 23956 additions and 0 deletions

View File

@@ -0,0 +1,170 @@
#!/bin/bash
# --- set default value
DEFAULT_DATA_DIR="/home/ceiec/nms/nmsdata"
DEFAULT_INSTALL_DIR="/home/ceiec/nms/nmsclient"
# --- set install dir
PRG="$0"
PRGDIR=`dirname "$PRG"`
CUR_PRGDIR=`cd "$PRGDIR"; pwd`
INSTALL_DIR="$DEFAULT_INSTALL_DIR"
if [ ! -d $INSTALL_DIR ]
then
mkdir -p $INSTALL_DIR
fi
INSTALL_DIR=`cd "$INSTALL_DIR"; pwd`
# --- check jdk and jdk-version
install_jdk=0
javaversion=`java -version 2>&1|grep "java version"`
if [ -n "$javaversion" ]
then
# javaversion=${javaversion:14:3}
javavmajor=`echo $javaversion | cut -c15`
javavminor=`echo $javaversion | cut -c17`
# OS_TYPE=$( lsb_release -d| cut -d: -f2| cut -f2 )
# if [ "`echo $OS_TYPE | cut -c1-6`" = "Ubuntu" ]
# then
# if [ 2 -gt $javavmajor ]; then
# if [ 6 -gt $javavminor ]; then
# install_jdk=1
# fi
# fi
# else
if [[ 2 -gt $javavmajor && 6 -gt $javavminor ]]; then
install_jdk=1
fi
# fi
else
install_jdk=1
fi
# --- install jdk
cd "$INSTALL_DIR"/..
NMS_JDK="$(pwd)/nmsjdk"
JDK_DIR="$(pwd)/jre1.7.0_80"
JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-i586.tar.gz"
if [ "`uname -i`" = "x86_64" ];then
JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-x64.tar.gz"
fi
if [ $install_jdk = 1 ]
then
if [ ! -e "$NMS_JDK" ]
then
echo "JDK bin file: $JDK_BIN_FILE"
echo "now, install jdk: $NMS_JDK"
sleep 3
if [ ! -e "$JDK_DIR" ];then
mkdir -p $JDK_DIR
fi
tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1
if [ -n "$installJdk" ];then
echo "install jdk failure, exit program"
exit 1
fi
ln -s $JDK_DIR $NMS_JDK
echo "install jdk done"
fi
elif [ -n "$JAVA_HOME" ];then
ln -s $JAVA_HOME $NMS_JDK
else
echo "JDK bin file: $JDK_BIN_FILE"
echo "now, install jdk: $NMS_JDK"
sleep 3
if [ ! -e "$JDK_DIR" ];then
mkdir -p $JDK_DIR
fi
tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1
if [ -n "$installJdk" ];then
echo "install jdk failure, exit program"
exit 1
fi
ln -s $JDK_DIR $NMS_JDK
echo "install jdk done"
fi
cd "$CUR_PRGDIR"
echo "==========================================="
echo "NMS_JDK: $NMS_JDK"
echo "INSTALL_DIR: $INSTALL_DIR"
echo "==========================================="
# --- copy file to install_dir
if [ "$INSTALL_DIR" != "$CUR_PRGDIR" ];then
CP_DIR=(
bin
lib
conf
shell
)
#cp
for CP_NAME in ${CP_DIR[@]}
do
cp -a $CUR_PRGDIR"/$CP_NAME" $INSTALL_DIR
done
fi
function modify_file(){
if [ $# != 2 ]
then
echo "usage: modify_file [prop_name] [prop_value]"
exit 0
fi
prop_name="$1"
prop_value="$2"
#echo "modify_file $prop_name $prop_value"
if [ -z "$(cat $PROP_FILE |grep $prop_name)" ]
then
echo "" >> $PROP_FILE
echo "$prop_name=$prop_value" >> $PROP_FILE
else
sed -i "s@^$prop_name.*@$prop_name=$prop_value@" $PROP_FILE
fi
}
# --- modify property
#-------------file path
path="$DEFAULT_DATA_DIR"
#-------------include path
include_path="$INSTALL_DIR,$path"
#-------------exclude path
exclude_path="$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$INSTALL_DIR/conf"
#-------------log4j dir
logs_path="$path/nc_logs"
PROP_FILE=$INSTALL_DIR"/conf/myconfig.properties"
#echo "PROP_FILE: $PROP_FILE"
modify_file "local.data.path" $path
modify_file "common.del.path.include" $include_path
modify_file "common.del.path.exclude" $exclude_path
# modify log4j
PROP_FILE=$INSTALL_DIR"/conf/log4j.properties"
encoding=${LANG#*.}
modify_file "log4j.appender.stdout.encoding" $encoding
modify_file "log4j.appender.debugAppender.encoding" $encoding
modify_file "log4j.appender.infoAppender.encoding" $encoding
modify_file "log4j.appender.debugAppender.File" "$logs_path/nmsclient_debug.log"
modify_file "log4j.appender.infoAppender.File" "$logs_path/nmsclient_info.log"
#permit
cd $INSTALL_DIR"/shell"
chmod 755 *.sh
cd $CUR_PRGDIR
if [ -z "$(cat /etc/rc.local|grep $INSTALL_DIR"/shell/startup.sh")" ]
then
echo $INSTALL_DIR"/shell/startup.sh" >> /etc/rc.local
fi
echo ""
echo "install successed..."
echo "please use [$INSTALL_DIR/shell/startup.sh] to run the program..."
$INSTALL_DIR/shell/startup.sh

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,29 @@
# This file list all NTCS processes
# nms
#nmsweb=/home/nms/apache-tomcat-7.0.59/logs
#nmsdc=/home/nms/datacontroller/dc_logs
#nmsclient=/home/nms/nmsclient/nc_logs
# NTCS web
# ntcsweb=apache-tomcat
# NTCS Web-Service MariaDB
mariadb=/var/lib/mysql,db_error.log
# NTCS mid-Service
#galaxy=galaxyTomcat
# Config Line
#tensor=tensor
# AV analysis
#avanalyser=rssb_maskey
#pic=imagePlatform
#voip=voipPlatform
#audio=audio_platform
#video=video_platform
#fragcheck=frag_index_cluster
#blacklist=castle_black
#C2 critial log
pzffff=/home/pjr/20180828_1000_ccCli/bin/log_dir,cc_recv
#this pzffffres must under pzffff
pzffc2res=/home/pjr/20180828_1000_ccCli/bin,RESTART
#C3 critial log
pzffhj=/home/pjr/20180828_1000_cccServer,RESTART

View File

@@ -0,0 +1,2 @@
-Xms64m
-Xmx128m

View File

@@ -0,0 +1,36 @@
log4j.rootLogger = debug,stdout,logfile,errorLog
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#----------------------debug---------------------
log4j.appender.logfile = org.apache.log4j.RollingFileAppender
log4j.appender.logfile.MaxFileSize = 50MB
log4j.appender.logfile.MaxBackupIndex = 20
log4j.appender.logfile.File = ../nc_logs/nmsclient.log
log4j.appender.logfile.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout
#----------------------error---------------------
log4j.logger.errorLog = warn,errorLog
log4j.appender.errorLog = org.apache.log4j.RollingFileAppender
log4j.appender.errorLog.MaxFileSize = 50MB
log4j.appender.errorLog.Append = true
log4j.appender.errorLog.Threshold = warn
log4j.appender.errorLog.MaxBackupIndex = 10
log4j.appender.errorLog.File = ../nc_logs/error.log
log4j.appender.errorLog.layout.ConversionPattern = %d %p [%l] [%t] - <%m>%n
log4j.appender.errorLog.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.encoding=UTF-8
log4j.appender.debugAppender.encoding=UTF-8
log4j.appender.infoAppender.encoding=UTF-8
log4j.appender.debugAppender.File=/home/nms/nmsclient/nc_logs/nmsclient_debug.log
log4j.appender.infoAppender.File=/home/nms/nmsclient/nc_logs/nmsclient_info.log

View File

@@ -0,0 +1,90 @@
#-------------------需要修改配置Local Path-----------------
# 文件存放总路径不要放于NmsClient部署目录下根据盘符相应修改
local.data.path=
# 可删范围只有在此路径下的文件Agent才可以删除多个路径逗号隔开
common.del.path.include=
# 禁删范围Agent可删路径下不能删除的路径多个路径逗号隔开若是禁删配置有单个文件需相应修改代码
common.del.path.exclude=
#------------------------SSLSocket----------------------
# DataController部署的主机IP需对应修改
server_host=
# DataController端的监听端口用来与Server通信
server_port = 60702
# NMSClient自己的监听端口用来接收Server发送的信息
agent_port = 60701
# SSL通信此值不能更改
local.ssl.keys=./bin/cer/client_ks
local.ssl.trust=./bin/cer/client_ts
local.ssl.path=./bin/cer
# socket通信超时时间
socket.timeout.minutes=30
#------------------------Common------------------------
# 写文件与通信流默认编码
charset =UTF-8
# 删除日志文件,单位天,默认保存七天,可根据情况修改
common.del.log.days=7
# 删除数据文件(包括监测数据和任务相关文件)单位小时默认保存24小时可根据情况修改
common.del.data.hours=24
# 删除升级时推送过来的文件单位天默认保存90天可根据情况修改
common.del.upgradefile.days=90
# 删除临时文件单位天默认保存2天可根据情况修改
common.del.temp.days=2
# 上传数据循环间隔默认5分钟上传一次可根据情况修改【数据由Server主动收集该属性 废弃】
common.upload.data.minutes=5
# 定时清理内存中已完成的任务时间间隔单位小时默认2小时
common.task.clear.hours=2
#------------------------ThreadPool------------------------
# Socket通讯线程池最大个数
common.thread.socket.size=10
# 定时执行线程池最大个数
common.thread.schedule.size=15
#------------------------Compress--------------------------
# 文件累积达到一定数量压缩打包上传默认1000个可修改
common.zip.min.size=1000
# 压缩打包最多包含文件个数默认2000个可修改
common.zip.max.size=2000
# 回传文件累积达到一定数量压缩打包上传默认10个可修改
common.max.return.size=10
#-------------------------Local Path-------------------------
# 自己写的脚本存放路径,不需修改
local.script.path = ./shell
# 监测配置基本信息文件后缀
local.config.file.suffix = .cfg
# NmsClient启动后PID存放文件需与启动脚本中一致建议不修改
local.agent.pidfile = ./temp/agentPid.temp
#-----------------系统预定义的监测类型(不需修改)----------------
sys.check.type.cpu=cpu
sys.check.type.disk=disk
sys.check.type.memory=memory
sys.check.type.net=net
sys.check.type.systemdate=systemdate
sys.check.type.process=process
sys.check.type.process.nmsagent=nmsclient
sys.check.type.systeminfo=systeminfo
#------------------Debug调试使用(不需修改)---------------------
debug.init.task.flag = 0
debug.plugin.flag = 0
debug.sysdetect.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.uploaddata.flag = 0
debug.alarm.flag = 0
debug.delfile.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.taskresult.flag = 0
#--【数据由Server主动收集该属性 废弃】
debug.taskreturn.flag =0
active.alarm.start=true
#监测数据设置告警时对于指定多个标识符如多个盘符、多个CPU、多个网卡的分隔符
alarm.set.marker.separator=|
config.update.flag = 5
#监测数据主动上报,0:启用1不启用
data.send.thread.flag=0
#主动数据上报 ip不填默认为 server_host 的值
#data.send.thread.host=
#主动数据上报 port,默认9527
data.send.thread.port=9527
#主动数据上报间隔 interval单位 s默认为 10s
data.send.thread.interval=10

View File

@@ -0,0 +1,114 @@
# This file list all NTCS processes
# process stat check
processcheck=pidcheck
#NTC Interface
ntcsweb=apache-tomcat
mariadb=mysqld
#NTC Mid
galaxyService=galaxy-service
galaxyFsync=galaxy-fsync-service
galaxyTraffic=galaxy-traffic-service
galaxyPush=galaxy-push-service
galaxyStat=galaxy-stat-service
galaxyTest=galaxyTomcat
#logComplete=log-stream-completion
#logStat=log-stream-stat
#logTopIP=log-stream-top-ip
#logTopN=log-stream-top
#logUV=log-stream-uv
#NTC config distribute
Tensor=Tensor
Redis=Redis
panguValve=pangu_valve
#NTC dynamic config
Redis=Redis
#NTC ASEM
mrzcpd=mrzcpd
Sapp=Sapp
Oam=Oam
#NTC document
maskey2.0=maskey2.0
#NTC multimedia
rssbMaskey=rssb_maskey
fragIndexCluster=frag_index_cluster
castleBlack=castle_black
eastwatch=eastwatch
platformvideo=platformvideo
platformaudio=platformaudio
platformimage=platformimage
platformvoip=platformvoip
# AV analysis
#avanalyser=rssb_maskey
#pic=imagePlatform
#voip=voipPlatform
#audio=audio_platform
#video=video_platform
#fragcheck=frag_index_cluster
#blacklist=castle_black
#NTC protocol
dkLdp=dk_ldp
dkZeusLogclct=dk_zeus_logclct
dkSappClean=dk_sapp_clean
dkZeusNtbapre=dk_zeus_ntbapre
dkSappNtba=dk_sapp_ntba
#NTC log
zookeeper=zookeeper
Kafka=Kafka
Strom=Strom
clickhouse=clickhouse
Hades=Hades
#NTC operations
nmsweb=tomcat
nmsdc=DataController
nmsclient=nmsclient
consul=consul
telegraf=telegraf
infludb=infludb
Grafana=Grafana
#AntiDDOS
mrzcpd=mrzcpd
Sapp=Sapp
Torches=Torches
#IP reuse
irAccess=ir_access
irFoward=sapp
#IP discovery
IPDiscovery=IP_discovery
Redis=Redis
#National agency
Tfe=Tfe
kni=kni
Oam=Oam
#Proxy cache
Minio=Minio
minioEventsPretreat=minio_events_pretreat
minioDeteteClient=minio_detete_client
#proxy cert
certStore=cert_store
redis=redis
#other
# C2 and C3
pzffff=cc_cli
#the following line is just for RESTART log check of C2
pzffc2res=pzffc2res
pzffhj=ccc_ser
pzffkeep=pzff_keep

View File

@@ -0,0 +1,4 @@
#
#Thu Oct 18 17:31:38 CST 2018
NS_version=100041
NA_version=100034

View File

@@ -0,0 +1,215 @@
#!/bin/bash
# --- set default value
DEFAULT_DATA_DIR="/home/ceiec/nms/nmsdata"
DEFAULT_INSTALL_DIR="/home/ceiec/nms/nmsclient"
# --- set install dir
PRG="$0"
PRGDIR=`dirname "$PRG"`
CUR_PRGDIR=`cd "$PRGDIR"; pwd`
if [ $# = 0 ]
then
echo -n "enter intall dir [default: $DEFAULT_INSTALL_DIR]:"
read INSTALL_DIR
if [ -z "$INSTALL_DIR" ]; then
INSTALL_DIR="$DEFAULT_INSTALL_DIR"
fi
else
INSTALL_DIR="$1"
fi
if [ ! -d $INSTALL_DIR ]
then
mkdir -p $INSTALL_DIR
fi
INSTALL_DIR=`cd "$INSTALL_DIR"; pwd`
# --- check jdk and jdk-version
install_jdk=0
javaversion=`java -version 2>&1|grep "java version"`
if [ -n "$javaversion" ]
then
# javaversion=${javaversion:14:3}
javavmajor=`echo $javaversion | cut -c15`
javavminor=`echo $javaversion | cut -c17`
# OS_TYPE=$( lsb_release -d| cut -d: -f2| cut -f2 )
# if [ "`echo $OS_TYPE | cut -c1-6`" = "Ubuntu" ]
# then
# if [ 2 -gt $javavmajor ]; then
# if [ 6 -gt $javavminor ]; then
# install_jdk=1
# fi
# fi
# else
if [[ 2 -gt $javavmajor && 6 -gt $javavminor ]]; then
install_jdk=1
fi
# fi
else
install_jdk=1
fi
# --- install jdk
cd "$INSTALL_DIR"/..
NMS_JDK="$(pwd)/nmsjdk"
JDK_DIR="$(pwd)/jre1.7.0_80"
JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-i586.tar.gz"
if [ "`uname -i`" = "x86_64" ];then
JDK_BIN_FILE=$CUR_PRGDIR"/jre_install/jre-7u80-linux-x64.tar.gz"
fi
if [ $install_jdk = 1 ]
then
if [ ! -e "$NMS_JDK" ]
then
echo "JDK bin file: $JDK_BIN_FILE"
echo "now, install jdk: $JDK_DIR"
sleep 3
if [ ! -e "$JDK_DIR" ];then
mkdir -p $JDK_DIR
fi
tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1
if [ -n "$installJdk" ];then
echo "install jdk failure, exit program"
exit 1
fi
ln -s $JDK_DIR $NMS_JDK
echo "install jdk done"
fi
elif [ -n "$JAVA_HOME" ];then
ln -s $JAVA_HOME $NMS_JDK
else
echo "JDK bin file: $JDK_BIN_FILE"
echo "now, install jdk: $JDK_DIR"
sleep 3
if [ ! -e "$JDK_DIR" ];then
mkdir -p $JDK_DIR
fi
tar -xzf $JDK_BIN_FILE -C $JDK_DIR --strip-components=1 || installJdk=1
if [ -n "$installJdk" ];then
echo "install jdk failure, exit program"
exit 1
fi
ln -s $JDK_DIR $NMS_JDK
echo "install jdk done"
fi
cd "$CUR_PRGDIR"
echo "==========================================="
echo "NMS_JDK: $NMS_JDK"
echo "INSTALL_DIR: $INSTALL_DIR"
echo "==========================================="
# --- copy file to install_dir
if [ "$INSTALL_DIR" == "$CUR_PRGDIR" ]
then
echo "install directory is current program directory..."
else
echo "install program, it may take a few time..."
CP_DIR=(
bin
lib
conf
shell
)
#cp
for CP_NAME in ${CP_DIR[@]}
do
cp -a $CUR_PRGDIR"/$CP_NAME" $INSTALL_DIR
done
fi
function modify_file(){
if [ $# != 2 ]
then
echo "usage: modify_file [prop_name] [prop_value]"
exit 0
fi
prop_name="$1"
prop_value="$2"
#echo "modify_file $prop_name $prop_value"
if [ -z "$(cat $PROP_FILE |grep $prop_name)" ]
then
echo "" >> $PROP_FILE
echo "$prop_name=$prop_value" >> $PROP_FILE
else
sed -i "s@^$prop_name.*@$prop_name=$prop_value@" $PROP_FILE
fi
}
# --- modify property
#-------------file path
echo -n "please enter data path, notice: this path not within $INSTALL_DIR, [default $DEFAULT_DATA_DIR]: "
read path
if [ -z "$path" ]
then
path="$DEFAULT_DATA_DIR"
fi
#-------------include path
echo -n "delete include path [default $INSTALL_DIR,$path ]: "
read include_path
if [ -z "$include_path" ]
then
include_path="$INSTALL_DIR,$path"
else
include_path="$INSTALL_DIR,$path,$include_path"
fi
#-------------exclude path
echo -n "delete exclude path [default $INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$INSTALL_DIR/conf ]: "
read exclude_path
if [ -z "$exclude_path" ]
then
exclude_path="$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell"
else
exclude_path="$$INSTALL_DIR/bin,$INSTALL_DIR/lib,$INSTALL_DIR/shell,$exclude_path"
fi
#-------------nmsserver ip
echo -n "enter DataController ip: "
read server_ip
while [ -z "$server_ip" ]
do
echo -n "DataController ip cannot null, please enter ip: "
read server_ip
done
#-------------log4j dir
echo -n "enter logs path [default $path/nc_logs]: "
read logs_path
if [ -z "$logs_path" ]
then
logs_path="$path/nc_logs"
fi
#path=${path//\//\\/}
PROP_FILE=$INSTALL_DIR"/conf/myconfig.properties"
#echo "PROP_FILE: $PROP_FILE"
modify_file "local.data.path" $path
modify_file "common.del.path.include" $include_path
modify_file "common.del.path.exclude" $exclude_path
modify_file "server_host" $server_ip
# modify log4j
PROP_FILE=$INSTALL_DIR"/conf/log4j.properties"
encoding=${LANG#*.}
modify_file "log4j.appender.stdout.encoding" $encoding
modify_file "log4j.appender.debugAppender.encoding" $encoding
modify_file "log4j.appender.infoAppender.encoding" $encoding
modify_file "log4j.appender.debugAppender.File" "$logs_path/nmsclient_debug.log"
modify_file "log4j.appender.infoAppender.File" "$logs_path/nmsclient_info.log"
#permit
cd $INSTALL_DIR"/shell"
chmod 755 *.sh
cd $CUR_PRGDIR
if [ -z "$(cat /etc/rc.local|grep $INSTALL_DIR"/shell/startup.sh")" ]
then
echo $INSTALL_DIR"/shell/startup.sh" >> /etc/rc.local
fi
echo ""
echo "install successed..."
echo "please use [$INSTALL_DIR/shell/startup.sh] to run the program..."

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,47 @@
#!/usr/bin/expect
if {$argc!=3} {
send_user "usage: check_userpass.sh ip name password\n"
exit 1
}
set host [lindex $argv 0]
set user [lindex $argv 1]
set pass [lindex $argv 2]
set isSend 0
spawn ssh -t "${user}@${host}"
while 1 {
expect {
"* (yes/no)*" {send "yes\r"}
"* <20><><EFBFBD><EFBFBD>*" {
send "${pass}\r"
set isSend 1
}
"* password:*" {
send "${pass}\r"
set isSend 1
}
"Permission denied" {
send_user "Not allowed\n"
exit 1
}
"*~]" {
send_user "OK\n"
send "exit\r"
exit 0
}
"Last login:*" {
send_user "OK\n"
send "exit\r"
exit 0
}
default {
send_user "error\n"
exit 2
}
}
}

View File

@@ -0,0 +1,78 @@
#!/usr/bin/expect
if {$argc!=4&&$argc!=3} {
send_user "usage: execCmdBySu.sh resultFlag command name \[password\]\n"
exit 1
}
# 0<><30>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ȡ<EEB2A2>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ִ<EFBFBD><D6B4>&<26><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>
set resultFlag [lindex $argv 0]
set cmd [lindex $argv 1]
set user [lindex $argv 2]
set pass [lindex $argv 3]
set timeout 30
set flag 0
#<23>رտ<D8B1><D5BF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
log_user 0
spawn whoami
expect "root" {set flag 1}
# <20><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>${cmd}<7D><>׷<EFBFBD><D7B7>"echo $?",Ϊ<><CEAA>ȡcmd<6D><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ʵ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
if {$resultFlag==0} {
spawn su - -c "${cmd};echo $?" ${user}
#<23><>ǰ<EFBFBD><C7B0>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>root<6F><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if {$flag==0} {
expect {
"<22><><EFBFBD><EFBFBD>*" {send ${pass}\r}
"password*" {send ${pass}\r}
default {
send_error "error\n"
exit 2
}
}
}
#<23>򿪿<EFBFBD><F2BFAABF><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
log_user 1
expect {
"* <20><><EFBFBD><EFBFBD><EBB2BB>ȷ*" {exit 1}
#----<2D>˴<EFBFBD><CBB4><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ܶ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
eof {exit 0}
}
} else {
spawn su - -c "${cmd}" ${user}
#<23><>ǰ<EFBFBD><C7B0>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>root<6F><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if {$flag==0} {
expect {
"<22><><EFBFBD><EFBFBD>*" {send ${pass}\r}
"password*" {send ${pass}\r}
default {
send_error "error\n"
exit 2
}
}
}
expect {
"* <20><><EFBFBD><EFBFBD><EBB2BB>ȷ*" {exit 1}
#----Ϊ<><CEAA>&<26><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
eof {
send_user "ok\n"
exit 0
}
}
}
interact
exit 0
#overlay chess
#overlay program args
#disconnect
#close -onexec 0 -i ${spawn_id}
#remove_nulls 1

View File

@@ -0,0 +1,270 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Start/Stop Script for the NMS Client
#
# Environment Variable Prequisites
#
# NMSCLEINT_HOME May point at your Catalina "build" directory.
#
# NMSCLIENT_TASKDIR (Optional) Directory path location of taskresult directory
# Defaults to %NMSCLIENT_HOME%/task.
#
# NMSCLIENT_TMPDIR (Optional) Directory path location of temporary directory
# the JVM should use (java.io.tmpdir). Defaults to
# $NMSCLIENT_HOME/temp.
#
# JAVA_HOME Must point at your Java Development Kit installation.
# Required to run the with the "debug" argument.
#
# -----------------------------------------------------------------------------
# resolve links - $0 may be a softlink
PRG="$0"
if [ -f /etc/redhat-release ]; then
OS_TYPE=`cat /etc/redhat-release`
else
islsb=`which lsb_release | wc -l`
if [ "$islsb" != "0" ]; then
OS_TYPE=$( lsb_release -d| cut -d: -f2| cut -f2 )
else
OS_TYPE=`uname -a | awk '{print $1" "$2" "$3}'`
fi
fi
echo $OS_TYPE
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set NMSCLEINT_HOME if not already set
[ -z "$NMSCLEINT_HOME" ] && NMSCLEINT_HOME=`cd "$PRGDIR/.." ; pwd`
cd "$NMSCLEINT_HOME"/shell
if [ -z "$NMSCLIENT_TMPDIR" ] ; then
NMSCLIENT_TMPDIR="$NMSCLEINT_HOME"/temp
fi
if [ ! -d $NMSCLIENT_TMPDIR ]
then
mkdir $NMSCLIENT_TMPDIR
fi
if [ -n "$4" ]; then
NMSCLIENT_TASKDIR=`dirname "$4"`
fi
if [ -z "$NMSCLIENT_TASKDIR" ] ; then
NMSCLIENT_TASKDIR="$NMSCLEINT_HOME"/task
fi
# -------- check jdk
# check nmsjdk
NMS_HOME=`cd "$NMSCLEINT_HOME/.." ; pwd`
cd "$NMSCLEINT_HOME"/shell
NMS_JDK="$NMS_HOME"/nmsjdk
if [ ! -e "$NMS_JDK" ]
then
echo "$NMS_JDK not exist"
exit 0
fi
# check java -version
javaversion=`$NMS_JDK/bin/java -version 2>&1|grep "java version"`
if [ ! -n "$javaversion" ]
then
echo "$NMS_JDK cannot use, please install"
exit 0
fi
# -------- set jdk path
export JAVA_HOME=$NMS_JDK
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
temp=$CLASSPATH
#setting libs path
libs="$NMSCLEINT_HOME"/lib/*
append(){
temp=$temp":"$1
}
for file in $libs; do
append $file
done
jars="$NMSCLEINT_HOME"/bin/*
for file in $jars; do
append $file
done
export NC_CLASSPATH=$temp:.:$NMSCLEINT_HOME/conf
export LD_LIBRARY_PATH=$NMSCLEINT_HOME/lib
export LANG=zh_CN.UTF-8
# Bugzilla 37848: When no TTY is available, don't output to console
have_tty=0
if [ "`tty`" != "not a tty" ]; then
have_tty=1
fi
# ----- Execute The Requested Command -----------------------------------------
# Bugzilla 37848: only output this if we have a TTY
if [ $have_tty -eq 1 ]; then
echo "Using NMSCLEINT_HOME: $NMSCLEINT_HOME"
echo "Using NMSCLIENT_TMPDIR: $NMSCLIENT_TMPDIR"
echo "Using JAVA_HOME: $JAVA_HOME"
echo "Using CLASSPATH: $NC_CLASSPATH"
fi
# ---- get jvm param
jvmconf_file=$NMSCLEINT_HOME"/conf/jvm.conf"
if [ -f $jvmconf_file ]
then
#sed -n '/Xmx=/p' $jvmconf_file | sed 's/Xmx=//g'
XmsOpt=`sed -n '/-Xms/p' $jvmconf_file`
XmxOpt=`sed -n '/-Xmx/p' $jvmconf_file`
JAVA_OPTS="$XmsOpt $XmxOpt -XX:+UseParNewGC"
else
JAVA_OPTS="-Xms64m -Xmx128m -XX:+UseParNewGC"
fi
program="com.nis.nmsclient.NmsClient a"
name="NmsClient-nc"
proc_id=
# handler agent upgrade result
handleTask()
{
if [ -d "$NMSCLIENT_TASKDIR" ]
then
cd $NMSCLIENT_TASKDIR
for i in *.upgrade;do mv "$i" "${i%.upgrade}.result";done >/dev/null 2>&1
cd "$NMSCLEINT_HOME"/shell
fi
}
writePid()
{
ps aux|grep java|grep "$program"|grep -v grep|awk '{print $2}' > $NMSCLIENT_TMPDIR/agentPid.temp
}
getPid()
{
unset proc_id
proc_id=`ps aux|grep java|grep "$program"|grep -v grep|awk '{print $2}'`
}
shouhu_proc="$NMSCLEINT_HOME"/shell/nmsclient_shouhu.sh
stopShouhuProc()
{
shouhu_proc_id=`ps aux|grep $shouhu_proc|grep -v grep|awk '{print $2}'`
if [ -n "$shouhu_proc_id" ]
then
echo "kill shouhu process ....."
kill -9 $shouhu_proc_id
fi
}
startShouhuProc()
{
shouhu_proc_id=`ps aux|grep $shouhu_proc|grep -v grep|awk '{print $2}'`
if [ ! -n "$shouhu_proc_id" ]
then
echo "start shouhu process ....."
nohup $shouhu_proc $NMSCLIENT_TASKDIR >/dev/null &
fi
}
if [ "$1" = "start" ] ; then
getPid
if [ -n "$proc_id" ]
then
echo "$name already running......"
else
nohup java $JAVA_OPTS -classpath $NC_CLASSPATH $program >/dev/null &
sleep 3
getPid
if [ -n "$proc_id" ]
then
echo "$name start success!!!!!"
writePid
else
echo "$name start error!!!!!"
fi
handleTask
fi
elif [ "$1" = "stop" ]; then
getPid
if [ -n "$proc_id" ]
then
stopShouhuProc
sleep 1
echo "$name is start, now kill......"
kill -9 $proc_id
writePid
echo "$name kill ok !!!!!!!!!!!!!"
else
echo "$name is not start!!!!!!!!!!!"
fi
elif [ "$1" = "restart" ] ; then
getPid
if [ -n "$proc_id" ]
then
echo "$name is start, now restart......"
stopShouhuProc
sleep 1
startShouhuProc
kill -9 $proc_id
getPid
if [ -n "$proc_id" ]
then
echo "$name stop error!!!!!!!!!!"
handleTask
exit 1
fi
else
echo "$name is not start, now start......"
fi
copyError=
if [ -n "$2" ] ; then
srcFile=$2
updateFile=/dev/null
if [ -d "$2" ]; then
srcFile="$2"/*
fi
if [ -n "$4" ]; then
updateFile=$4
fi
if [ -n "$3" ]; then
unalias cp >/dev/null 2>&1
cp -rvf $srcFile $3 >>$updateFile 2>&1 ||copyError=1
fi
rm -rf $2 >/dev/null 2>&1
fi
if [ -n "$copyError" ]
then
#----copy error
handleTask
else
#--------copy right, start proc
nohup java $JAVA_OPTS -classpath $NC_CLASSPATH $program >/dev/null &
sleep 3
getPid
if [ -n "$proc_id" ]
then
writePid
else
echo "$name restart error!!!!!!!!!!"
handleTask
fi
fi
else
echo "Usage: nmsagent.sh ( commands ... )"
echo "commands:"
echo " start Start $name in a separate window"
echo " restart ReStart $name in a separate window"
echo " stop Stop $name"
fi

View File

@@ -0,0 +1,55 @@
#!/bin/sh
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
# Only set NMSCLEINT_HOME if not already set
[ -z "$NMSCLEINT_HOME" ] && NMSCLEINT_HOME=`cd "$PRGDIR/.." ; pwd`
cd "$NMSCLEINT_HOME"/shell
NC_TASKDIR="$1"
log_file="$NMSCLEINT_HOME"/temp/job.log
echo "NC_TASKDIR:$NC_TASKDIR" >> $log_file
#count=1
while [ 1 -eq 1 ]
do
sleep 50
if [ `ps -ef | grep NmsClient | grep -v grep | wc -l` -lt 1 ]
then
echo -n "Down at:" >> $log_file
date >> $log_file
# ---------- handler agent upgrade result
if [ -d "$NC_TASKDIR" ]
then
cd $NC_TASKDIR
for i in *.upgrade;do mv "$i" "${i%.upgrade}.result";done >>$log_file 2>&1
cd "$NMSCLEINT_HOME"/shell
fi
# --------- start NC
"$NMSCLEINT_HOME"/shell/startup.sh
echo "NmsClient start...." >>$log_file
fi
sleep 1
#count=$count+1
#if [ count -eq 900 ]
#then
# jpid=`ps -ef | grep java | grep -v grep | cut -c0-5`
# kill -9 $jpid
# count=1
#fi
done

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Retart Script for the NMS Client
#
# -----------------------------------------------------------------------------
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
EXECUTABLE=nmsagent.sh
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
echo "Cannot find $PRGDIR/$EXECUTABLE"
echo "This file is needed to run this program"
exit 1
fi
exec "$PRGDIR"/"$EXECUTABLE" restart $1 $2 $3 "$@"

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Stop Script for the NMS Client
#
# -----------------------------------------------------------------------------
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
EXECUTABLE=nmsagent.sh
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
echo "Cannot find $PRGDIR/$EXECUTABLE"
echo "This file is needed to run this program"
exit 1
fi
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"

View File

@@ -0,0 +1,30 @@
#!/bin/sh
# -----------------------------------------------------------------------------
# Start Script for the NMS Client
#
# -----------------------------------------------------------------------------
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`/"$link"
fi
done
PRGDIR=`dirname "$PRG"`
EXECUTABLE=nmsagent.sh
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
echo "Cannot find $PRGDIR/$EXECUTABLE"
echo "This file is needed to run this program"
exit 1
fi
exec "$PRGDIR"/"$EXECUTABLE" start "$@"