manage管理脚本
USER=admin
pathTar=/usr/local/static
pathWar=/usr/local/tomcat
pathJar=/usr/local/task
pathRollback=/tmp/rollback
if [[ ! -f ${pathRollback} ]]; then
mkdir -p ${pathRollback}
fi
SHHOME=$(cd `dirname $0`; pwd)
BASEHOME=$(cd $SHHOME/..; pwd)
DATE=$(date +%Y%m%d%H%M)
function print_usage() {
echo "##########################################################"
echo -e "Usage: /bin/bash $0 [\033[31mupdate\033[0m|\033[31mrollback\033[0m|\033[31mstatus\033[0m|\033[31mrestart\033[0m|\033[31mstop\033[0m|\033[31mstart\033[0m] [\033[31mFILENAME\033[0m|\033[31mFURL\033[0m]"
echo -e "eg: /bin/bash $0 update basic-login.war"
echo "##########################################################"
}
function log_error() {
echo -e "\033[31m [ERROR] $@ \033[0m"
}
function log_info() {
echo -e "\033[32m [INFO] $@ \033[0m"
}
function log_warn() {
echo -e "\033[33m [WARN] $@ \033[0m"
}
function judgeFile() {
if [[ ! -f $@ ]] && [[ ! -d $@ ]]; then
log_error "$@ 不存在,请检查"
return 1
else
log_info "$@ 存在,请继续"
return 2
fi
}
function judgePid() {
local name=$1
local num=`ps aux|grep $name | grep -v grep | grep -v $0 | wc -l`
if [[ $num -ne 0 ]]; then
log_info "应用程序: $name 正在运行"
return 2
else
log_warn "应用程序: $name 已经停止"
return 1
fi
}
function stopJar() {
local app_file=$1
local app_name=`echo ${
app_file} | awk -F. '{print $1}'`
local app_home=${pathJar}/${app_name}
if [[ ! -d ${app_home} ]]; then
log_warn "此主机节点没有部署${app_file},请检查"
exit
else
continue
fi
log_info "正在停止应用程序: ${app_file}"
ps aux | grep -w ${app_file} | grep -v grep | grep -v $0 | awk '{print $2}' | xargs kill -9 &>/dev/null
sleep 2
judgePid ${app_file}
}
function startJar() {
local app_file=