Comandos Básicos AD-HOC de Ansible

Comandos útiles AD-HOC:

Ejecutar comandos con usuario diferente:
$ ansible webserver -a “/usr/bin/TBC” -u username

Ejecutar comandos con sudo:
$ ansible webserver -a “/usr/bin/TBC” –sudo [–ask-sudo-pass]
(también se puede usar el “-s” en lugar del “–sudo”)
El uso de “–ask-sudo-pass” (o -K) es para cuando usas un sudo que pide password, de manera que preguntará qué password usar.

Es posible hacer sudo a otro usuario (fuera de root) usando “–sudo-user” (-U):
$ ansible webserver -a “/usr/bin/TBC” -u username -U otheruser [–ask-sudo-pass]

Ejecutar comandos con distinto usuario y sudo:
$ ansible webserver -a “/usr/bin/TBC” -u username –sudo [–ask-sudo-pass]
(también se puede usar el “-s” en lugar del “–sudo”)

Ejecución de comandos:
$ ansible webserver -m shell -a ‘echo $TERM’

Copiado de ficheros a servidores remotos:
$ ansible webserver -m copy -a “src=/etc/hosts dest=/tmp/hosts”

Cambiar ownership y permisos:
$ ansible webserver -m file -a “dest=/srv/TBC/a.txt mode=600”
$ ansible webserver -m file -a “dest=/srv/TBC/b.txt mode=600 owner=mdehaan group=mdehaan”

Crear directorios al estilo de “mkdir -p”:
$ ansible webserver -m file -a “dest=/path/to/c mode=755 owner=mdehaan group=mdehaan state=directory”

+Y lo mismo que borrar directorios (recursivamente) y ficheros:
$ ansible webserver -m file -a “dest=/path/to/c state=absent”

Creación y manipulación de cuentas de usuario, así como su borrado:
$ ansible all -m user -a “name=TBC password=<crypted password here>”
$ ansible all -m user -a “name=TBC state=absent”

Haciendo deploys con Git:
$ ansible webserver -m git -a “repo=git://foo.example.org/repo.git dest=/srv/myapp version=HEAD”

 

Usar módulos yum y apt para manejar paquetería:

– Asegurarse que un paquete está instalado:
$ ansible webserver -m yum -a “name=acme state=present”

– Asegurar que un paquete está instalado con una versión determinada:
$ ansible webserver -m yum -a “name=acme-1.5 state=present”

– Asegurar que un paquete está actualizado a la última versión:
$ ansible webserver -m yum -a “name=acme state=latest”

– Asegurarse que el paquete no está instalado:
$ ansible webserver -m yum -a “name=acme state=absent”

Manejando servicios del sistema:

– ASegurarse que un servicio está iniciado en todos los webserver:
$ ansible webserver -m service -a “name=httpd state=started”

– Reiniciar un servicio en todos los webserver:
$ ansible webserver -m service -a “name=httpd state=restarted”

– Asegurar que un servicio está parado:
$ ansible webserver -m service -a “name=httpd state=stopped”

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *