User Tools

Site Tools


informatica:linux:ansible

This is an old revision of the document!


Ejecutar comando con otro usuario

Ponemos la contraseña de sudo en el fichero de hosts:

/etc/ansible/hosts
[jose]
172.17.0.1 ansible_connection=ssh ansible_ssh_user=jose ansible_ssh_pass=**** ansible_sudo_pass=****

Ejecutamos el siguiente playbook:

- name: Ejecutar comando con otro usuario
  hosts: jose

  tasks:
      - name: Ejecutar sudo ls /root
        shell: ls /root
        become: true
        become_user: root
        ignore_errors: yes
        register: uname_result
      
      # En una misma línea  
      - debug: msg="{{ uname_result.stdout }}"

      # En lineas separadas
      - debug: msg="{{ uname_result.stdout_lines }}"

Ejecutamos:

ansible-playbook sudo.yml

Bucles

Por defecto la variable del bucle es item

  tasks:
  - name: list variables
    debug:
      msg="reading from {{item.soft}} and {{item.directori}}"
    with_items:
      - { soft: 'apache.zip', directori: '/opt/pogramas/webserver' }
      - { soft: 'java7.zip', directori: '/opt/pogramas/java' }

Cambiando la variable del bucle

  tasks:
  - name: list variables
    debug:
      msg="reading from {{mi_variable.soft}} and {{mi_variable.directori}}"
    with_items:
      - { soft: 'apache.zip', directori: '/opt/pogramas/webserver' }
      - { soft: 'java7.zip', directori: '/opt/pogramas/java' }
    loop_control:
        loop_var: mi_variable
        
informatica/linux/ansible.1568116604.txt.gz · Last modified: 2019/09/10 11:56 by jose