1
2
3
4
5
6
7
8
9
10
11
12
[root@ceshi-128 playbook]# ansible-playbook tomcat.yml 

PLAY [all] ******************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************
ok: [10.1.74.20]

TASK [start tomcat] *********************************************************************************************************************************************************
changed: [10.1.74.20]

PLAY RECAP ******************************************************************************************************************************************************************
10.1.74.20 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

本机手动执行tomcat正常(前提配置jdk环境),使用playbook操作tomcat显示无异常,但是查看进程tomcat服务并未启动

1
2
[root@ceshi-128 playbook]# ps -fe |grep tomcat
root 15425 13518 0 16:51 pts/1 00:00:00 grep --color=auto tomca

原因是ansible操作时的bash没有jdk环境导致启动无效

1
2
3
4
5
6
7
8
9
[root@ceshi-128 bin]# ln -s /usr/local/jdk1.8.0_221/bin/java /usr/bin/java
[root@ceshi-128 bin]# ln -s /usr/local/jdk1.8.0_221/bin/javac /usr/bin/javac
[root@ceshi-128 bin]# ln -s /usr/local/jdk1.8.0_221/bin/javah /usr/bin/javah
[root@ceshi-128 bin]# ln -s /usr/local/jdk1.8.0_221/bin/javadoc /usr/bin/javadoc
[root@ceshi-128 bin]# ln -s /usr/local/jdk1.8.0_221/bin/jar /usr/bin/jar

[root@ceshi-128 ~]# ansible all -m shell -a "nohup /usr/local/tomcat/bin/startup.sh &"
10.1.74.20 | CHANGED | rc=0 >>
Tomcat started.