I have some files with 0400/-r-------- permissions on server A that I need to copy to server B and preserve permissions.
For example:
serverA:/etc/ssl_cert.key → serverB:/etc/ssl_cert.key
How would you do it?
I have some files with 0400/-r-------- permissions on server A that I need to copy to server B and preserve permissions.
For example:
serverA:/etc/ssl_cert.key → serverB:/etc/ssl_cert.key
How would you do it?
Another detail is that serverA can’t talk to serverB or vice versa, only the Ansible server can talk to both of them
Have a look at the various examples on the synchronize module page:
https://docs.ansible.com/ansible/latest/modules/synchronize_module.html.
You can use a combination of delegate_to and push/pull mode.
Use copy (to copy on the second server), fetch (to get the file on the controller), and stat (to get rights) modules
Regards,
JYL
Thank you guys!
It worked, this is the playbook for anyone having the same issues.
At the end I added a test to remove files from buffer
serverA% ls -l
-rw-------. 1 root 6 May 20 16:11 ezaz.txt
hosts: serverA
gather_facts: no
tasks:
name: fetch test file
fetch: src=/tmp/ezaz.txt dest=/tmp/buffer/ flat=yes fail_on_missing=yes
hosts: serverB
gather_facts: no
tasks:
name: copy from dckr to dckr3
copy: src=/tmp/buffer/ezaz.txt dest=/tmp/final_ezaz.txt remote_src=no owner=root group=root mode=0400 backup=yes force=yes
hosts: ansible
gather_facts: no
tasks:
name: Delete certificates from /tmp
file: path=/tmp/buffer/ezaz.txt state=absent
serverB% ls -l
-r--------. 1 root root 6 May 20 16:30 final_ezaz.txt