shell - ansible shell/命令模块不在远程机器上执行脚本
问题描述
在尝试为 Tomcat-8 运行 startup.sh 脚本时,我遇到了以下错误。Playbook 使用 STDOUT 成功执行-“Tomcat 已启动”,但它没有反映在远程机器中。两个模块都存在错误-命令和shell
- name: Download Tomcat version 8
get_url:
url: http://mirrors.wuchna.com/apachemirror/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz
dest: /tmp/apache-tomcat-8.5.35.tar.gz
- name: Untar Tomcat to /opt
shell: tar -zxvf apache-tomcat-8.5.35.tar.gz -C /opt
args:
chdir: /tmp/
warn: False
- name: Change permissions of Tomcat folder
file:
path: /opt/apache-tomcat-8.5.35
mode: 0777
recurse: yes
- name: Set Catalina Home
lineinfile:
path: /etc/profile.d/maven.sh
regexp: '^#?\s*export CATALINA_HOME=(.*)$'
line: 'export CATALINA_HOME=/opt/apache-tomcat-8.5.35'
state: present
- name: execute source
shell: source maven.sh
args:
chdir: /etc/profile.d/
executable: /bin/sh
- name: start catalina
become: true
command: /opt/apache-tomcat-8.5.35/bin/startup.sh &>> /var/log/log.txt
解决方案
尝试在 Centos7 上的剧本中运行您的任务,并在 Tomcat 正常运行的情况下成功执行。(必须先安装 maven)我可能需要更多信息来调试它。
- 问:你打算以 root 用户身份运行 tomcat 吗?(如果你是..你不应该)
- 问:遥控器上的操作系统是什么?
- 问:您是否正确安装了 JRE 或 JDK?
看看这个例子:https ://github.com/ansible/ansible-examples/tree/master/tomcat-standalone
推荐阅读
- android - [警告:拒绝加载无效的虚拟 URL:%22https://m.movie.sg/sm_seatselect.aspx?filmID=
- character - 将中文/韩文文本还原为Excel工作表中看似随机字符的方法
- cryptography - WSS4J 无效的数字签名
- haskell - 在期望 Either 的 fn 或块内绑定或返回 Left
- ios - 2 轴坐标系 bezierpath 中数据点的样条曲线
- security - 如何在无法访问互联网的情况下保护 chrome 扩展程序中的密码?
- r - 使用ggplot2的雷达图中的未闭合线
- multithreading - Python 如何在另一个线程中启动线程?
- javascript - 我可以使用 NightwatchJS 或 Selenium 来验证页面上多个 HTML5 画布内部使用的颜色吗?
- jhipster - Jhipster:处理模型更新和前端更改