linux检测jar包更新,自动部署

本文介绍了一位Java程序员为实现自动检测Linux下文件更改并进行项目自动部署的需求,使用bash脚本编写的一个简易解决方案。该脚本通过持续监控指定jar包的修改状态,一旦检测到文件更新,即执行停止旧进程和启动新进程的操作,实现了服务的自动更新和重启。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个也是java程序员的qq好友,问我有没有脚本能自动部署的.我说一般用工具,他想直接检测linux下文件更改进行部署.于是简单写了个:

function  changed(){
    file_path='/home/ubuntu/test/eureka.jar'    #'jar包所在位置全路径,例如/home/app.jar'
    while [[ true ]]; do
        file_old_stat="`stat ${file_path}|grep Modify`"
        sleep 1s
        if [ -f "${file_path}" ]; then
            file_new_stat="`stat ${file_path}|grep Modify`"
           if [[ `echo ${file_old_stat}` == `echo ${file_new_stat}` ]]; then
		   	echo '测试'>/dev/null #测试用
            else
                echo "文件已更新,项目重新部署"
		#下面写停止和重新部署代码  根据服务名强制杀死进程
		kill -9 `ps -ef | grep "eureka" | grep -v "grep" | awk '{print $2}'`
		sleep 3s
		nohup java -Djava.security.egd=file:/dev/./urandom -jar ${file_path} &
            fi
        else
           echo "不存在该文件"
        fi
    done
}
 
changed

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值