Java开发-实际工作经验和技巧-0004-Shell自动化部署脚本的编写

Java开发-实际工作经验和技巧-0004-Shell自动化部署脚本的编写

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅


需求说明:编写一个自动化部署脚本,用于快速备份部署项目。

以下直接使用最简单的单体服务当做例子,我这里使用的测试环境和正式环境的有些许区别:

  • 测试环境:资源有限,只需备份一份
  • 生产环境:保证数据有迹可循,每次更新都需要备份一份

测试环境自动化部署 Shell 脚本如下:auto-deplot-xxxApp.sh

# 进入服务目录
cd /usr/local/apps/xxxApp

# 执行停止服务脚本
sh xxxApp-1.0/bin/xxxService.sh stop

# 备份
cp -r xxxApp-1.0 xxxApp-1.0_bak

# 删除原有内容
rm -rf xxxApp-1.0

# 解压
unzip xxxApp-1.0.zip

# 执行服务启动脚本
sh /usr/local/apps/xxxApp/xxxApp-1.0/bin/xxxService.sh start

# 等待 15 秒
sleep 15s

# 打印实时日志
tail -f  /usr/local/apps/xxxApp/xxxApp-1.0/logs/xxxApp.log
  • 备份和删除的步骤可直接替换成 mv

正式环境自动化部署 Shell 脚本如下:auto-deplot-xxxApp.sh

# 进入服务目录
cd /usr/local/apps/xxxApp

# 获取当前时间
current_time=$(date +"%Y-%m-%d_%H:%M:%S")

# 执行停止服务脚本
sh xxxApp-1.0/bin/xxxService.sh stop

# 备份
cp -r xxxApp-1.0 "xxxApp-1.0_bak_${current_time}"

# 删除原有内容
rm -rvf xxxApp-1.0

# 解压
unzip xxxApp-1.0.zip

# 执行服务启动脚本
sh /usr/local/apps/xxxApp/xxxApp-1.0/bin/xxxService.sh start

# 等待 10 秒
sleep 10s

# 打印实时日志
tail -f  /usr/local/apps/xxxApp/xxxApp-1.0/logs/xxxApp.log
  • 备份和删除的步骤可直接替换成 mv

以上就是本文的所有内容了,希望对你有所帮助。


在这里插入图片描述

上图由 Pic 生成

关键词:Pocket Monster


更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

技术公众号:CodeZeng1998(纯纯技术文)

生活公众号:好锅(Life is more than code)

CSDN: CodeZeng1998

其他平台:CodeZeng1998好锅

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值