Scripting Administration Tasks with Ansible

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

Ansible’s ad hoc commands aren’t typically used for automation, but they can be powerful tools for running a command across an inventory and getting the desired results. In this lab we’ll expand on how to use shell scripting with ad hoc commands to speed up administration tasks.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Write the Script

The script could look something like to this:

for i in webserver1 dbserver1 adminserver1;
   do ssh ansible@$i "sudo tar -czf messages.tar.gz /var/log/messages";
done

ansible -m fetch -a "src=/home/ansible/messages.tar.gz?x15337 dest=/tmp/messages" all

But there are thousands of ways to accomplish this with a combination of Bash and Ansible.
As long as we write something that archives and compresses the log file, then delivers it to the right directory, we’ve accomplished the task.

Execute the Script and Ensure There are No Errors

As long as we don’t have any errors in the script’s output, we should be fine. Good job!

Additional Resources

Notice: Ansible is installed as the root user, so please work on all tasks after elevating to the root user.

One of the tasks that you and your admin team does periodically is copy all of /var/log/messages from a remote server and pull it to a local machine for analysis. Rather than doing it manually you'd like to have Ansible do it.

Write a script that will use tar to compress /var/log/messages on a remote server and then copy that tar file to /tmp/messages/ on the Ansible Host.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?