ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ansible playbook 恢复备份文件

2022-07-21 19:31:45  阅读:259  来源: 互联网

标签:name saas 备份文件 ansible hosts playbook file backup


 

有的时候我们用copy模块备份的文件想要回滚

ansible -i pbs_hosts all -m copy -a "src=file/hosts dest=/etc/ backup=yes"

 

 

那我们就可以用下面这种方式进行回滚

cat restore.hosts.yml

--- #固定格式
#- hosts: "{{ ansiblegroupnames }}" #需要操作的组或者服务器,可以使用-e传入
- hosts: "saas_hosts"
  gather_facts: false
  
  vars:
    file_name: /etc/hosts #需要恢复的远程文件位置,可以使用-e传入,当前位置为测试用文件
    ansiblegroupnames: 127.0.0.1
  
  tasks:
    - name: "查找指定文件:{{ file_name }}"
      find:
        recurse: no
        paths:
          - "{{ file_name | dirname }}"
          #- "/etc/"
        patterns:
          - '{{ file_name | basename }}\..*~'  #这里必须使用单引号
        use_regex: true
      register: backup_file #注册成变量
   # - name:
   #   debug: 
   #     msg: "{{ 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 }}"

cat saas_hosts_all

[saas_hosts]
192.168.1.1

 

ansible-playbook -i saas_hosts_all  restore.hosts.yml -C

标签:name,saas,备份文件,ansible,hosts,playbook,file,backup
来源: https://www.cnblogs.com/suyj/p/16503167.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有