#!/bin/bash
#Params Number
DPN=2
#TimeOut Limit
TimeSec=1
#SCRIPT
TimeOut(){
waitsec=${TimeSec}
( $* ) & pid=$!
( sleep $waitsec && kill -HUP $pid ) 2>/dev/null & watchdog=$!
if wait $pid 2>/dev/null;then
pkill -HUP -P $watchdog
wait $watchdog
else
return 124
fi
}
SYNCCONF(){
[ $# -ne ${DPN} ] && return 1
SOURCEXMLPATH=$1
TARGETIPS=$2
TRAGETPATH=${YITA_HOME}/conf
[ ! -f "${SOURCEXMLPATH}" ] && return 2
[ ! -s "${SOURCEXMLPATH}" ] && return 3
TARGETIPLIST=($(echo ${TARGETIPS}|awk -F, '{for (i=1;i<=NF;i++) {print $i}}'))
for IP in ${TARGETIPLIST[@]};do
TimeOut ping -c 1 ${IP};[ $? -eq 124 ] && return 4
if ssh ${IP} test ! -e ${TRAGETPATH};then return 5;fi
done
for IP in ${TARGETIPLIST[@]};do
scp ${SOURCEXMLPATH} ${IP}:${TRAGETPATH}
done
return 0
}
#==============返回码==============
#== 0:同步成功 ==
#== 1:输入参数有误 ==
#== 2:源文件不存在 ==
#== 3:源文件内容为空 ==
#== 4:目标IP不可达 ==
#== 5:目标IP路径不存在 ==
#==================================
#>>>>>>
SYNCCONF $*
#<<<<<<
SYNCCONF
最新推荐文章于 2022-05-17 10:37:13 发布