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»