O'Reilly logo

Learning Ansible 2 - Second Edition by Fabio Alessandro Locati

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Using bash modules

Bash modules in Ansible are no different than any other bash scripts, except the way it prints the data on stdout. Bash modules could be as simple as checking if a process is running on the remote host to running some complex commands.

Note

As previously stated, the general recommendation is to use Python for modules. In my opinion the second-best choice (only for very easy modules) is bash module due to its simplicity and user base.

Let's create the file library/kill_java.sh with the following content:

    #!/bin/bash     source $1     SERVICE=$service_name     JAVA_PIDS=$(/usr/java/default/bin/jps | grep ${SERVICE} | awk '{print $1}')     if [ ${JAVA_PIDS} ]; then      for JAVA_PID in ${JAVA_PIDS}; do      /usr/bin/kill -9 ${JAVA_PID} ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required