昨天部署的交換器監控,起初的時候沒有什麼頭緒,因為是頭次弄這些東西,後來導師教了一下,還是行了!!
首先是寫了設定環境變數的指令碼setenv.sh,這個指令碼主要是載入所有的jar包以及啟動項目的時候所需要的.class檔案,用export直接就能把想匯入的jar包匯入,但注意指定的路徑都應該是完整的,如:
export APPHOME=/app/basd/ibnms/netinf
export JARPATH=$APPHOME/libs
export PATH=/app/basd/ibnms/j2sdk1.4.2_12/bin:$PATH
export OTHERCLASSPATH=$OTHERCLASSPATH:$JARPATH/backport-util-concurrent.jar
這樣jar包就匯入了!
下面是匯入.class檔案:
export CLASSPATH=$APPHOME/bin:$APPHOME/classes:$OTHERCLASSPATH
這個檔案就結束了,下面是寫start.sh檔案,這就是啟動指令碼:
. ./setenv.sh
PRO_KEY="netInterface"
echo ***starting*** ${PRO_KEY}
pro_count=`ps -ef |grep ${PRO_KEY} | grep -v grep | wc -l`
if [ $pro_count -lt 1 ]
then
nohup java -D${PRO_KEY} com.sitech.manage.CollInitInport >> ../log/call.log &
nohup java -D${PRO_KEY} com.sitech.manage.SchedulerConfig "0 40 17 * * ?" >> ../log/call.log &
nohup java -D${PRO_KEY} com.sitech.manage.SchedulerInterfaceStatus "0 1,16,31,46 * * * ?" >> ../log/call.log &
echo "****started*** ${PRO_KEY} , logs in ../log dir"
else
echo "*****fail***** :there is already ${pro_count}" process with key /"${PRO_KEY}/" exists
fi
註解:
首先是要設定環境變數,用setenv.sh檔案;然後用命令列尋找此進程是否存在,如果存在,就不作啟動,如果不存在,則作啟動,在啟動指令碼中,用nohup java -D${PRO_KEY} com.sitech.manage.CollInitInport 這樣的形式啟動這個所要的方法,並把啟動資訊輸出導記錄檔中,這就結束了,值得注意的地方就是路徑問題;
同樣stop.sh也可以這樣去寫:
ps -ef | grep netInterface | grep -v grep | awk '{print $2 }'|while read line
do
echo $line kill
kill -9 $line
done
尋找到這個進程,以進程號進行刪除~