Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

difference in two file using ansible module

Tags:

ansible

I want to see if there is any changes in the file one present in local and other on the remote host. If there is any difference, it should be visible in screen what should be the best way to do this using Ansible

For example:

src : /tmp/abc.txt
dest : hostname:/tmp/cde.txt
like image 647
DevOps Learner Avatar asked Dec 17 '18 16:12

DevOps Learner


1 Answers

You can also use check_mode: yes and diff: yes tasks options to show differences:

---
- hosts: localhost
  gather_facts: no

  tasks:
    - name: "Only show diff between test1.txt & test2.txt" 
      copy:
        src: /tmp/test2.txt
        dest: /tmp/test1.txt
      check_mode: yes
      diff: yes

Example:

# cat /tmp/test1.txt
test1

# cat /tmp/test2.txt
test1
test2

# ansible-playbook diff.yaml
PLAY [localhost] ***********************************************************************************************************************************

TASK [Only show diff between test1.txt & test2.txt] ************************************************************************************************
--- before: /tmp/test1.txt
+++ after: /tmp/test2.txt
@@ -1 +1,2 @@
 test1
+test2

changed: [localhost]

PLAY RECAP *****************************************************************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0

More information on check_mode & diff here.

like image 62
sebthebert Avatar answered Oct 03 '22 09:10

sebthebert