* * 1;* *
(1)实际运维过程中难免出现大规模通过运维批量工具类似于进行远程管理服务类似启动环境应用
出现异常终止运行无法运行
* * 2。ansible; * *
(1)。ansible自动化运维工具属于非交互式登陆方式进行机器管理默认不加载和系统环境变量
(2)。ansible——→ansible大师——比;:/home/行动/nsible/tmp/
(3)。/home/行动/.ansible/tmp/AnsiballZ_command。pypy py→;
“p1”(4)。ansible -vvv;
* * 3。* *
第三方外包项目提供脚本通过我们发布系统进行发布发布部署阶段使用了进行第三方提供脚本如下
# !/bin/bash APP_NAME=" apie-0.0.1-SNAPSHOT.jar " 案例1美元 开始) nohup java -Dfile。utf - 8编码=jar $ {APP_NAME}——spring.config.location=application-apicenter。yml——spring.profiles。积极=没有, echo $ {APP_NAME}开始! ;; 停止) ps ef | grep $ {APP_NAME} | grep - v grep | awk的{打印$ 2}| sed - e s/^/kill - 9/g”| sh - echo $ {APP_NAME}停! ;; 重启) “0”停止 睡眠3 “0”开始 ;; 状态)ps辅助| grep $ {APP_NAME} | grep - v grep的 ;; 日志) 案例2美元 调试) tail - f - n $ {3 - 400}/debug.log日志 ;; 错误) tail - f - n $ {3 - 400}/error.log日志 ;; *) 回声”的例子:服务。sh日志{调试|错误}”;; esac ;; *) 回声”的例子:服务。sh(开始| | |重新启动停止状态)”;; esac
(2)。远程执行脚本出现;
172.21.204.53 | |改变rc=0祝辞祝辞
原因分析:
1。ansible执行脚本流程会在/home/ops/.ansible/tmp/apiCenter-0.0.1-SNAPSHOT。jar发现没有此文件故报错;不能访问使用jarfile api-0.0.1-SNAPSHOT。jar
(3)。进行脚本改造,
# !/bin/bash CURDIR=$ (cd $(目录名$ {BASH_SOURCE [0]});pwd) #如果第一条语句顺利执行,就执行pwd显示当前目录,并将结果赋值给变量“DIR” cd CURDIR美元 APP_NAME=" apiCenter-0.0.1-SNAPSHOT.jar " 案例1美元 开始) nohup/usr/local/jdk/bin/java -Dfile。utf - 8编码=jar $ {APP_NAME}——spring.config.location=application-apicenter。yml——spring.profiles。积极=没有在比;控制台。“日期”+ %英尺% TZ””。日志2祝辞,1, echo $ {APP_NAME}开始! ;; 停止) ps ef | grep $ {APP_NAME} | grep - v grep | awk的{打印$ 2}| sed - e s/^/kill - 9/g”| sh - echo $ {APP_NAME}停! ;; 重启) “0”停止 睡眠3 “0”开始 ;; 状态)ps辅助| grep $ {APP_NAME} | grep - v grep的 ;; 日志) 案例2美元 调试) tail - f - n $ {3 - 400}/debug.log日志 ;; 错误) tail - f - n $ {3 - 400}/error.log日志 ;; *) 回声”的例子:服务。sh日志{调试|错误}”;; esac ;; *) 回声”的例子:服务。sh(开始| | |重新启动停止状态)”;; esac
(4)。改造后测试。