Ansible Ad-hoc Commands: Harnessing the Power of One-Liners! ๐Ÿ’ก

Ansible Ad-hoc Commands: Harnessing the Power of One-Liners! ๐Ÿ’ก

Nov 16, 2023ยท

2 min read

Play this article

Introduction to Ansible Ad-hoc Commands

Ad-hoc commands in Ansible are like one-liners that allow you to perform quick tasks without the need for a playbook. In this blog post, we'll unravel the simplicity and efficiency of Ansible Ad-hoc commands, exploring their execution, the vast array of modules available, and practicing basic commands for system management.

Executing Ad-hoc Commands

The Basics

Ad-hoc commands follow a simple syntax:

ansible [targets] -m [module] -a "[module options]"
  • [targets]: Define the hosts or groups to target.

  • -m [module]: Specify the Ansible module to use.

  • -a "[module options]": Provide options for the module in double-quotes.

Example Ad-hoc Command

Let's ping all servers in the web_servers group:

ansible web_servers -m ping

This command uses the ping module to check server responsiveness.

Exploring Ansible Modules

What are Modules?

Ansible modules are units of work. They can perform various tasks, from managing packages to manipulating files or even interacting with cloud providers.

Common Modules

  • command: Execute arbitrary commands on the target.

  • shell: Run shell commands on the target.

  • apt (or yum, dnf, etc.): Manage packages on Linux systems.

  • copy: Copy files to remote hosts.

  • file: Manage files and directories.

Example: Installing a Package

Install the nginx package on the web_servers group:

ansible web_servers -m apt -a "name=nginx state=present" -u your_username

Replace your_username with your actual username.

Practice: Basic System Management

Task: Create a Directory

Create a directory named ansible_test on all servers:

ansible all -m file -a "path=/home/your_username/ansible_test state=directory" -u your_username

Task: Check Disk Space

Check available disk space on all servers:

ansible all -m command -a "df -h" -u your_username

Task: Update Packages

Update all packages on the web_servers group:

ansible web_servers -m apt -a "upgrade=yes" -u your_username

Conclusion

Ansible Ad-hoc commands provide a quick and powerful way to perform tasks on your infrastructure. By exploring modules and practicing basic commands, you're laying the groundwork for more advanced automation with Ansible.

In the next blog post, we'll dive into the heart of Ansible automation: Playbooks. Get ready to take your automation game to the next level! ๐Ÿš€๐Ÿ”ง

Did you find this article valuable?

Support Prasad Suman Mohan by becoming a sponsor. Any amount is appreciated!

ย