How to execute a shell script on a remote server using Ansible?

Question:

I am planning to execute a shell script on a remote server using Ansible playbook.

blank test.sh file:

Playbook:

When I run the playbook, the transfer successfully occurs but the script is not executed.

Answer:

local_action runs the command on the local server, not on the servers you specify in hosts parameter.

Change your “Execute the script” task to

and it should do it.

You don’t need to repeat sudo in the command line because you have defined it already in the playbook.

According to Ansible Intro to Playbooks user parameter was renamed to remote_user in Ansible 1.4 so you should change it, too


So, the playbook will become:

Leave a Reply