#! /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包结束============"
发布应用脚本
最新推荐文章于 2023-11-13 17:00:30 发布