Copy shell script and execute it using Ansible.
Here we will see one Complete example to copy shell script and execute it, & get its output.
I. Make Ansible Conifguration
# cat ansible.cfg [defaults] inventory = hosts remote_user=saket host_key_checking = False pipelining = True
II. Create the script what you want to copy and execute
# cat runtask.sh #!/bin/bash CMD="tail /var/log/messages" echo "Getting the command $CMD output” $CMD
III. Create Playbook
# cat playbooks/runtask.yml --- - hosts: all remote_user: saket gather_facts: no sudo: yes strategy: free tasks: - name: "Copy runtask.sh scipt on the remote hosts" copy: src= runtask.sh dest=/root/ mode=0755 - name: "Execute the script" command: sh ~/runtask.sh register: version - debug: var: version.stdout_lines
IV. Run the playbook now.
# date; # ansible-playbook -b -K playbooks/runtask.yml -i hosts -u saket -f 10 > output.txt ; # date