版权声明:转载请注明作者 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