ansible恢复copy备份文件

ansible恢复copy备份文件

 

 

- name: 恢复备份文件
  hosts: "{{ ansiblegroupnames }}" #需要操作的组或者服务器,可以使用-e传入
  gather_facts: false

  vars:
    file_name: /tmp/abcd/a.txt #需要恢复的远程文件位置,可以使用-e传入,当前位置为测试用文件

  tasks:
    - name: "查找指定文件备份 {{ file_name }}"
      find:
        recurse: no
        paths:
          - "{{ file_name | dirname }}"
        patterns:
          - '{{ file_name | basename }}\..*~'  #这里必须使用单引号
        use_regex: true
      register: backup_file #注册成变量

    - name: 查找备份文件 #查找最后一个备份文件按照mtime时间排序
      set_fact:
        latest_backup: "{{ (backup_file.files | sort(attribute='mtime') | last).path }}"

    - name: "还原备份文件 {{ file_name }}"
      copy:
        src: "{{ latest_backup }}"
        remote_src: true
        dest: "{{ file_name }}"

  

posted @ 2021-06-29 11:54  colinshi  阅读(604)  评论(0编辑  收藏  举报