首页 > 解决方案 > 使用ansible模块的两个文件的区别

问题描述

我想看看本地和远程主机上的文件是否有任何更改。如果有任何区别,它应该在屏幕上可见什么应该是使用 Ansible 执行此操作的最佳方法

例如:

src : /tmp/abc.txt
dest : hostname:/tmp/cde.txt

标签: ansible

解决方案


您还可以使用check_mode: yesdiff: yes任务选项来显示差异:

---
- 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

例子:

# 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

更多信息check_mode&diff 在这里


推荐阅读