Install Ansible and Create Ansible Playbook for CRON

Ansible is a tool that used to manage various nodes from an ansible installed Controlling Machine using SSH Protocol. It makes every system administrative tasks more easy.

Ansible Playbook is a organised unit of scripts which is working in the Controller machine (Ansible installed system). Playbook are written in YAML format.

Install Ansible on Centos 7:-

Controller Machine IP:- 10.0.0.209

Node IP :- 10.0.0.206
10.0.0.207

* more ip can be used.

Step 1 :-
Install Ansible using yum in Controller Machine. Check the version of the installed Ansible.

# yum install ansible
# ansible --version

Step 2 :-
Setup Controlling Machine to connect node using ssh protocol.
Create ssh key to access node systems and copy the key to the node.

# ssh-keygen
# ssh-copy-id root@10.0.0.206
# ssh-copy-id root@10.0.0.207

Step 3:-
Add ips of node systems into the Inventory of Ansible by editing /etc/ansible/hosts .

# vim /etc/ansible/hosts
[ansi-test]
10.0.0.206
10.0.0.207

Note: Here both ip can call using name ansi-test

Step 4:-
Test Ansible in the Controller Machine by using below commands.

1. First of all test the Controlling Machine have ping with node system using ansible commands.

# ansible -m ping all

10.0.0.206 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
10.0.0.207 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Now Lets start to work with Ansible Playbook.

Create Ansible Playbook for CRON :-

Our requirement is to take backup of /test folder to /backup folder at every day 12:00 in all the nodes that are configured to the controller machine with Ansible.

First make /test folder and /backup folder.

# mkdir /backup
# mkdir /test

Now we need to write a backup shell script in the folder /backup_script with the name backup.sh . This script are need to transfer all nodes.

# vim /backup_script/backup.sh

#!/bin/bash
tar vcf /backup/backup_test.`date +%Y-%m-%d_%H:%M:%S`.tar /test

Setup Ansible playbook and create yml script for cronjob :-

Make a directory Playbooks in side /etc/ansible.

# mkdir /etc/ansible/playbooks

Create cron.yml using vim tool.

# vim /etc/ansible/playbooks/cron.yml
  tasks:
  - name: Install a yum package in Ansible
    yum:
      name: crontabs
      state: present
  - name: copy the script into node systems
    copy: src=/backup_script/backup.sh dest=/root/
  - name: create a cron in node systems
    cron:
        name: "Backup Cron"
        user: "root"
        minute: 00
        hour: 12
        job: "/usr/bin/sh /root/backup.sh 2>&1"

Now we have created Ansible Playbook with name cron.yml. Execute the following command to run the script using Ansible.

# ansible-playbook /etc/ansible/playbooks/cron.yml

Subscribe Now

10,000 successful online businessmen like to have our content directly delivered to their inbox. Subscribe to our newsletter!

Archive Calendar

Sat Sun Mon Tue Wed Thu Fri
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Over 20000 Satisfied Customers!

From 24/7 support that acts as your extended team to incredibly fast website performance

Zelt staff were fantastic, I had a concern with a domain and they got back to me very quickly and they helped me to resolve the issue!

author
Technician, Diageo PLC

I'm using Zelt for my portfolio since 2006. The transition was seamless, the support was immediate, and everything works perfectly.

author
Photographer, Allister Freeman

Very easy to understand & use even though I am not very technologically minded. No complications whatsoever & I wouldn't hesitate to recommend it to all.

author
Actor, A&J Artists

Zelt support team have been amazingly responsive and helpful to any of my queries, thank you so much to the Zelt have been amazingly responsive and helpful to any of my queries ๐Ÿ‘๐Ÿ‘๐Ÿ‘

author
Technician, Diageo PLC

Anytime I've had a problem I can't solve, I've found Zelt to be diligent and persistent. They simply won't let an issue go until the client is happy.

author
Doctor, SmartClinics

Zelt support team have been amazingly responsive and helpful to any of my queries, thank you so much to the Zelt have been amazingly responsive and helpful to any of my queries ๐Ÿ‘๐Ÿ‘๐Ÿ‘

author
Freelancer, Fiverr

24/7 World-Class Support

Ran into trouble? Contact our Customer Success team any time via live chat or email.

  • Receive professional WordPress support
  • Our specialists are available round
Get Support