1,712   Java Linux Shell

在本机远程其他服务器执行脚本时,比如启动SOA服务,会不停输出启动信息,妥妥的刷满了屏,无法继续执行后面的脚本了,尤其是启动多台集群服务器的时候,
于是想把这些输出屏蔽掉,代码如下:


function start_soa
{


	local FUNC_JAR_ALL_IP="10.123.99.16 10.123.99.17"
	local FUNC_JAR_SERVER_NAME="soa_server"
	local FUNC_BIN_PATH="/soa/bin"

	echo -e "\n"
	echo -e "START: start soa \n"
	# 循环启动多台SOA服务器
	for FUNC_JAR_ONE_IP in ${FUNC_JAR_ALL_IP}
	do
		echo -e "\n"
		echo -e "SERVER_IP : ${FUNC_JAR_ONE_IP} \n"
                # 利用 ssh 免密码登录远程服务器执行启动脚本,同时将输出的启动信息去掉 
		ssh -T ${FUNC_JAR_SERVER_NAME}@${FUNC_JAR_ONE_IP} << EOF
        source ~/.bash_profile 
        ${FUNC_BIN_PATH}/start.sh > /dev/null 2>&1 &
        
EOF
	done
	
	echo -e "\n"
	echo -e "END : start soa"

}



Leave a Reply

Your email address will not be published. Required fields are marked *