Ansible 服务可以';不要从剧本或临时命令开始
我有一个问题要从Ansible playbook启动服务,任务如下Ansible 服务可以';不要从剧本或临时命令开始,ansible,ansible-2.x,Ansible,Ansible 2.x,我有一个问题要从Ansible playbook启动服务,任务如下 - name: Start Jira Service shell: /etc/init.d/jira start become_user: jira 或 要解决此问题,请执行以下操作: 我试着像下面那样运行临时命令 ansible-i主机mig3-mshell-a“systemctl start jira”--变成user=jira 使用同一用户在服务器上以/etc/init.d/Jira start命令运行Jira
- name: Start Jira Service
shell: /etc/init.d/jira start
become_user: jira
或
要解决此问题,请执行以下操作:
ansible-i主机mig3-mshell-a“systemctl start jira”--变成user=jira
/etc/init.d/Jira start
命令运行Jira服务-它可以正常工作ansible-i hosts mig3-mshell-a”/etc/init.d/jira stop”--变成user=jira
{jira_app_folder}/work/
上的文件catalina.pid
已在服务器上成功创建,但jira服务不可用{{jira_app_folder}}/logs/catalina.out
ansible-I hosts mig3-mshell-a”/etc/init.d/Jira start”--变成user=Jira-K
/etc/init.d
管理Jira服务
你知道根本原因是什么吗?(注意,不是答案。)
让我们退一步,重新讨论一些可以帮助您(以及StackOverflow社区)更好地帮助您解决问题的事情
您首先列出了两个Ansible任务(“shell:”和“systemd:”调用),但您没有提到运行Ansible的机器的操作系统类型或版本,也没有提到您试图配置Jira的目标系统,也没有提到“Jira”可执行文件的版本和包名(rpm/deb/etc)。屏幕截图显示了Ansible 2.10.9,这将有助于理解问题的文本。我建议您添加这些详细信息,还包括Ansible的版本以及您环境中的其他信息
您提到您可以在服务器上使用相同的用户运行它“作为/etc/init.d/jira start
命令-它可以工作”,因此,这应该提供一个线索,即如果不考虑其他因素,这可能是启动playbook的更好方法
提供的屏幕截图显示playbook成功执行了该命令——我假设输出来自“shell:”命令。但是,Ansible执行以黄色显示“CHANGED”这一事实意味着Ansible认为该命令已成功运行(它以非错误代码退出),但如果使用“shell:”运行该命令,则任何时候都会出现相同的结果
我不认为这是一个可以回答的问题——看起来“shell:”命令的输出显示了执行/etc/init.d/jira start
时的成功输出,因此在您期望的地方显示的jira日志的缺失更多地指向jira配置问题,而不是Ansible问题
不要消极,只是想给你一些提示,告诉你如何排除故障,并告诉社区其他人可以采取行动的细节。你好,shco欢迎使用SO。你的问题有点让人困惑:jira是由systemd管理的还是一个
init.d
脚本,因为它们是截然不同的机制?此外,如果您体验到它是以交互方式启动的,但不是通过ansible启动的,那么您将希望看到脚本是否执行了过于简单的操作&
,并且对disown
或nohup
的使用不敏感。请报告您自己已经采取的故障排除步骤,因为我们无法提供这么少的信息来帮助您。好luck@mdaniel根据要求,我用tookHi Shco提供的更多故障排除步骤编辑了我的初始问题,您是否可以粘贴详细的输出,因为它可能有助于解释出现了什么问题。@MikeAnders,请查找随附的屏幕快照Hi,提供的输出显示了“良好”运行,但没有显示您遇到的错误。向我们展示故障排除步骤的完整输出,包括运行的命令和启用详细输出(-vvv)。
- name: Start Jira Service
systemd:
name: jira
state: started