发布应用脚本

#! /bin/bash

yum install -y dos2unix

case "`uname`" in
    Linux)
		bin_abs_path=$(readlink -f $(dirname $0))
		;;
	*)
		bin_abs_path=`cd $(dirname $0); pwd`
		;;
esac
cd ${bin_abs_path}
base=`pwd`
echo "根目录:"${base}

package=paas-agent-redis-1.0.tar.gz
unzip_name=paas-agent-redis-1.0
start_file=bin/start.sh
shutdown_file=bin/shutdown.sh

unzip_dir=${base}/${unzip_name}
zip_file=${base}/${package}
target_dir=${base}/${unzip_name}_$(date +%Y%m%d_%H%M%S)
softlink_dir=${base}/release

echo "============准备安装============"
echo "压缩文件:"${zip_file}
echo "解压文件夹:"${unzip_dir}
echo "目标文件夹:"${target_dir}
echo "软连接:"${softlink_dir}
echo -e "============准备安装============\n"

# 检查文件状态
echo "============检查文件状态开始============"
if [ ! -f "${zip_file}" ]; then
	echo "压缩文件不存在(false)"
	exit 1
else 
	echo "压缩文件存在(true)"
fi
if [ -d "${unzip_dir}" ]; then
	echo "解压文件夹存在,请手动删除(false)"
	exit 1
else
	echo "解压文件夹不存在(true)"
fi
if [ -d "${target_dir}" ]; then
	echo "目标文件夹存在,请手动删除(false)"
	exit 1
else
	echo "目标文件夹不存在(true)"
fi
if [ -d "${softlink_dir}" ]; then
	echo "软连接存在"
else
	echo "软连接不存在"
fi
echo -e "============检查文件状态结束============\n"

echo "============开始安装============"

# 解压文件
tar -xvzf ${zip_file}
if [ -d "${unzip_dir}" ]; then
	echo "文件解压成功:"${unzip_dir}
else
	echo "文件解压失败"
	exit 1
fi

# 重命名文件
mv ${unzip_dir} ${target_dir}
if [ -d "${target_dir}" ]; then
	echo "文件重命名成功:"${target_dir}
else
	echo "文件重命名失败"
	exit 1
fi

chmod +x ${target_dir}/${start_file}
chmod +x ${target_dir}/${shutdown_file}
echo -e "============安装结束============\n"

echo "============停止旧任务============"
# 执行shutdown
if [ -f "${softlink_dir}/${shutdown_file}" ]; then
	echo "执行shutdown:${softlink_dir}/${shutdown_file}"
	${softlink_dir}/${shutdown_file}
else
	echo "shutdown文件不存在:${target_dir}/${shutdown_file}"
fi
echo -e  "============停止旧任务结束============\n"

echo "============重建软连接开始============"
# 建立软连接
rm -fr ${softlink_dir}
ln -sf ${target_dir} ${softlink_dir}
echo -e  "============重建软连接结束============\n"

echo "============启动程序开始============"
if [ -f "${target_dir}/${start_file}" ]; then
	dos2unix ${target_dir}/bin/*.sh
	echo "执行start: ${target_dir}/${start_file}"
	${target_dir}/${start_file}
else
	echo "start文件不存在:${target_dir}/${start_file}。启动失败!!!"
exit 1
fi
echo -e "============启动程序结束============\n"

echo "============删除zip包开始============"
# 删除zip包
if [ -f "${zip_file}" ]; then
	rm -fr ${zip_file}
else
	echo "异常:${zip_file}不存在"
	exit 1
fi
echo "============删除zip包结束============"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值