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

版权声明:转载请注明作者 https://blog.csdn.net/myth_g/article/details/87859673

一个也是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

猜你喜欢

转载自blog.csdn.net/myth_g/article/details/87859673
今日推荐