Solución:
puedes usar texto módulo
Ejemplo
- name: Transfer and execute a script.
hosts: all
tasks:
- name: Copy and Execute the script
script: /home/user/userScript.sh
local_action
ejecuta el comando en el servidor local, no en los servidores que especifique en hosts
parámetro.
Cambie su tarea “Ejecutar el script” a
- name: Execute the script
command: sh /home/test_user/test.sh
y debería hacerlo.
No es necesario que repita sudo en la línea de comando porque ya lo ha definido en el libro de jugadas.
Según Ansible Intro to Playbooks user
se cambió el nombre del parámetro a remote_user
en Ansible 1.4, por lo que también debería cambiarlo
remote_user: test_user
Entonces, el libro de jugadas se convertirá en:
---
- name: Transfer and execute a script.
hosts: server
remote_user: test_user
sudo: yes
tasks:
- name: Transfer the script
copy: src=test.sh dest=/home/test_user mode=0777
- name: Execute the script
command: sh /home/test_user/test.sh
Es mejor usar script
módulo para eso:
http://docs.ansible.com/script_module.html
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)