file module in ansible deals with file/directory-related operations.
Example 1:-
Change file permission and ownership
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Change file permssion file: path: /tmp/foo.conf owner: vagrant group: vagrant mode: 0644
Execute:- ansible-playbook fileper.yaml
Example 2:-
Create a soft link file
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: src: /tmp/foo.conf dest: /tmp/foo.lnk state: link
Execute:- ansible-playbook fileper.yaml
Example 3:-
Create a soft link file with loop
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: src: ‘/tmp/{{ item.src }}’ dest: ‘{{ item.dest }}’ state: link with_items: – { src: ‘foo.conf’, dest: ‘foo.lnk’ } – { src: ‘foo.txt’, dest: ‘footxt.lnk’ }
Execute:- ansible-playbook fileper.yaml
Example 4:-
Change the permission of file using symbolic modes
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: path: /tmp/newfile.txt state: touch mode : u=rw,g=r,o=r
Execute:- ansible-playbook fileper.yaml
Example 5:-
Change the permission of file using symbolic modes
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: path: /tmp/newfile.txt state: touch mode : u+rw,g+r,o-r
Execute:- ansible-playbook fileper.yaml
Example 6:-
Preserve modification and access time of a file with state= touch
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: path: /tmp/foo.conf state: touch modification_time: “preserve” access_time: “preserve”
Execute:- ansible-playbook fileper.yaml
Example 7:-
Change modification and access time of a file with current date time during state=touch
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: path: /tmp/foo.conf state: touch modification_time: now access_time: now
Execute:- ansible-playbook fileper.yaml
Example 8:-
Create a directory
Playbook: fileper.yaml— – name: play for file module hosts: webservers tasks: – name: Create a soft link file file: path: /tmp/ansibledir state: directory
Execute:- ansible-playbook fileper.yaml