¿Cómo se crea un directorio www
en /srv
un sistema basado en Debian utilizando un libro de jugadas Ansible?
directory
filesystems
ansible
Gaurav Agarwal
fuente
fuente
state=directory
, todos los subdirectorios inmediatos se crearán si no existen, ya que 1.7 se crearán con los permisos proporcionados.all immediate subdirectories
es confuso, ¿podría definir eso y dar un ejemplo?Incluso puede extender el módulo de archivo e incluso configurar el propietario, el grupo y el permiso a través de él. (Ref: documentación del archivo Ansible )
Incluso, puede crear los directorios de forma recursiva:
De esta manera, creará los dos directorios, si no existieran.
fuente
recursive
argumento hace que esto sea muy parecido al usomkdir -p
(para aquellos que buscan en Google ansible mkdir -p ).recurse
parámetro no le gustamkdir -p
. Establece recursivamente los atributos de archivo especificados (solo se aplica al estado = directorio). Sistate=directory
, todos los subdirectorios inmediatos se crearán si no existen, ya que 1.7 se crearán con los permisos proporcionados.=
caracteres, sería genial actualizarlo con la:
sintaxis con cada atributo en una nueva líneachmod -R
. Es decir, sipath
ya existe como un directorio y hay archivos dentro de él, larecurse
opción (a veces desafortunadamente) también aplicará esos mismos permisos a los archivos. Esto es por diseño , para bien o para mal.puedes crear usando:
Última versión 2 <
Versión antigua
Consulte: http://docs.ansible.com/ansible/file_module.html
fuente
El directorio se puede crear utilizando solo el módulo de archivo, ya que el directorio no es más que un archivo.
fuente
Esa es la forma en que también puede establecer los permisos, el propietario y el grupo. Los últimos tres parámetros no son obligatorios.
fuente
Puedes crear un directorio. utilizando
También puede consultar http://docs.ansible.com/ansible/file_module.html para obtener más detalles sobre el directorio y el sistema de archivos.
fuente
Adicional para todas las respuestas aquí, hay muchas situaciones en las que necesita crear más de un directorio, por lo que es una buena idea usar bucles en lugar de crear tareas separadas para cada directorio.
fuente
Solo necesita poner condición para ejecutar la tarea para una distribución específica
fuente
Puedes usar la declaración
fuente
Si desea crear un directorio en Windows:
fuente
Tenemos módulos disponibles para crear directorio, archivo en ansible
Ejemplo
fuente
Puede ejecutar directamente el comando y crear directamente usando ansible
O
fuente
El libro de jugadas anterior creará el directorio www en la ruta / src.
Antes de correr por encima del libro de jugadas. Asegúrese de que su conexión de host ansible esté configurada,
"localhost ansible_connection = local"
debe estar presente en / etc / ansible / hosts
para más información por favor avíseme
fuente
para crear directorio
fuente
Use el módulo de archivo para crear un directorio y obtenga los detalles sobre el módulo de archivo usando el comando "ansible-doc file"
Aquí hay una opción "estado" que explica:
fuente
puede usar el módulo "archivo" en este caso, hay tantos argumentos que puede pasar por un directorio recién creado como el propietario, grupo, ubicación, modo, etc.
consulte este documento para obtener una explicación detallada sobre el módulo de archivo ...
https://docs.ansible.com/ansible/latest/modules/file_module.html#file-module
recuerda que este módulo no es solo para crear el directorio !!!
fuente
La forma más fácil de crear un directorio en Ansible.
O
Desea otorgar privilegios de sudo a ese directorio.
fuente
Veo muchos ejemplos de Playbooks y me gustaría mencionar el ejemplo de comandos Adhoc.
$ ansible -i inventario -m archivo -a "ruta = / tmp / direcory state = directorio (en lugar del directorio podemos mencionar tocar para crear archivos)
fuente
Necesita usar el módulo de archivo para este caso. Debajo del libro de jugadas, puede usarlo como referencia.
fuente
Para verificar si existe el directorio y luego ejecutar alguna tarea (por ejemplo, crear directorio) use lo siguiente
fuente
Tú quieres el
file
módulo. Para crear un directorio, debe especificar la opciónstate: directory
:fuente
Aquí es la manera más fácil.
- name: create dir command: mkdir -p dir dir/a dir/b
fuente