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»

Añadir comentario

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