On Tue, 31 Oct 2023 05:17:35 -0700 (PDT) Todd Lewis <uto...@gmail.com> wrote:
> There is no backup system. ... I wouldn't have been able > to create such a thing ... I wouldn't dare use it in > production ... the rest of us have to build our > wheels with the stick-n-stones within our reach. > > On Monday, October 30, 2023 at 11:34:33 AM UTC-4 Brian Coca wrote: > > > The backup system returns the 'backup_file' information so you can > > then operate on the built in backup, like moving it to a central > > location ... This can be achieved with ~20 lines of code. For example, let's declare the module defaults - hosts: all module_defaults: lineinfile: create: true backup: true and register the results tasks: - lineinfile: path: /tmp/test1.txt line: "{{ item }}" loop: [line1, line2, line3] register: ns_result_001 - lineinfile: path: /tmp/test2.txt line: line1 register: ns_result_0021 - lineinfile: path: /tmp/test2.txt line: line2 register: ns_result_0022 Declare the list of all variables *ns_result_* and declare the list of all backup files vars: my_ns_results: "{{ q('vars', *q('varnames', '^ns_result_*')) }}" ns_bfiles: "{{ (my_ns_results|json_query('[].backup') + my_ns_results|json_query('[].results[].backup'))| flatten|select }}" Fetch the backup files to the controller and optionally delete them on the remote hosts post_tasks: - fetch: src: "{{ item }}" dest: /tmp/ansible/backup loop: "{{ ns_bfiles }}" - file: src: "{{ item }}" state: absent loop: "{{ ns_bfiles }}" when: ns_bfiles_delete|d(false)|bool For example, shell> tree /tmp/ansible/backup/ /tmp/ansible/backup/ └── test_11 └── tmp ├── test1.txt.7143.2023-10-31@14:18:07~ ├── test1.txt.7156.2023-10-31@14:18:08~ └── test2.txt.7182.2023-10-31@14:18:11~ -- Vladimir Botka -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/20231031152959.3f0004d7%40gmail.com.
pgp6GljosgDtl.pgp
Description: OpenPGP digital signature