Luego de de esta extensa búsqueda de información dimos con la solución este atascamiento que tienen ciertos lectores. Te ofrecemos la respuesta y deseamos servirte de gran apoyo.
Nota
Este módulo es parte de ansible-base
e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede usar la copia del nombre corto del módulo incluso sin especificar el collections:
palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.
- Sinopsis
- Parámetros
- Notas
- Ver también
- Ejemplos de
- Valores devueltos
Sinopsis
- los
copy
El módulo copia un archivo de la máquina local o remota a una ubicación en la máquina remota. - Utilizar el ansible.builtin.fetch módulo para copiar archivos desde ubicaciones remotas a la caja local.
- Si necesita interpolación de variables en archivos copiados, utilice la ansible.builtin.template módulo. Usando una variable en el
content
campo dará como resultado una salida impredecible. - Para los destinos de Windows, use el ansible.windows.win_copy módulo en su lugar.
Nota
Este módulo tiene un correspondiente complemento de acción.
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
atributoscuerda agregado en 2.3 de ansible.builtin | Los atributos que debe tener el archivo o directorio resultante. Para obtener indicadores compatibles, consulte la página de manual para chattr en el sistema de destino Esta cadena debe contener los atributos en el mismo orden que el mostrado por lsattr.Los = El operador se asume como predeterminado, de lo contrario + o - los operadores deben incluirse en la cadena.alias: attr |
|
respaldobooleano agregado en 0.7 de ansible.builtin |
|
Cree un archivo de respaldo que incluya la información de la marca de tiempo para que pueda recuperar el archivo original si de alguna manera lo golpeó incorrectamente. |
suma de comprobacióncuerda agregado en 2.5 de ansible.builtin | Suma de comprobación SHA1 del archivo que se está transfiriendo. Se utiliza para validar que la copia del archivo se realizó correctamente. Si no se proporciona, ansible utilizará la suma de comprobación calculada localmente del archivo src. | |
contenidocuerda agregado en 1.1 de ansible.builtin | Cuando se usa en lugar de src , establece el contenido de un archivo directamente en el valor especificado. Funciona solo cuando dest es un archivo. Crea el archivo si no existe. Para formateo avanzado o si content contiene una variable, use el ansible.builtin.template módulo. |
|
descifrarbooleano agregado en 2.4 de ansible.builtin |
|
Esta opción controla el descifrado automático de los archivos de origen mediante la bóveda. |
destsendero / requerido | Ruta absoluta remota donde se debe copiar el archivo. src es un directorio, este también debe ser un directorio. dest es un camino inexistente y si alguno dest termina con “/” o src es un directorio, dest se crea. dest es una ruta relativa, el directorio de inicio lo determina el host remoto. src y dest son archivos, el directorio padre de dest no se crea y la tarea falla si aún no existe. |
|
modo_directoriocrudo agregado en 1.5 de ansible.builtin | Al hacer una copia recursiva, configure el modo para los directorios, si no está configurado usaremos los valores predeterminados del sistema. El modo solo se configura en los directorios que son de nueva creación y no afectará a los que ya existían. | |
seguirbooleano agregado en 1.8 de ansible.builtin |
|
Esta bandera indica que los enlaces del sistema de archivos en el destino, si existen, deben seguirse. |
fuerzabooleano agregado en 1.1 de ansible.builtin |
|
Influir en si el archivo remoto siempre debe reemplazarse. yes , el archivo remoto se reemplazará cuando el contenido sea diferente al de la fuente. no , el archivo solo se transferirá si el destino no existe. thirsty ha quedado obsoleto y se eliminará en 2.13.alias: sediento |
grupocuerda | Nombre del grupo que debería ser propietario del archivo / directorio, como se enviaría a chown. | |
local_followbooleano agregado en 2.4 de ansible.builtin |
|
Esta bandera indica que se deben seguir los enlaces del sistema de archivos en el árbol de fuentes, si existen. |
modocrudo | Los permisos del archivo o directorio de destino. /usr/bin/chmod recuerde que los modos son en realidad números octales. Debe agregar un cero a la izquierda para que el analizador YAML de Ansible sepa que es un número octal (como 0644 o 01777 ) o citarlo (como '644' o '1777' ) para que Ansible reciba una cadena y pueda hacer su propia conversión de cadena a número. Dar a Ansible un número sin seguir una de estas reglas terminará con un número decimal que tendrá resultados inesperados.A partir de Ansible 1.8, el modo puede especificarse como un modo simbólico (por ejemplo, u+rwx o u=rw,g=r,o=r A partir de Ansible 2.3, el modo también puede ser la cadena especial preserve .preserve significa que al archivo se le otorgarán los mismos permisos que al archivo de origen. Cuando haga una copia recursiva, consulte también directory_mode .Si mode no se especifica y el archivo de destino no existe, el predeterminado umask en el sistema se utilizará al configurar el modo para el archivo recién creado. mode no se especifica y el archivo de destino lo hace existe, se utilizará el modo del archivo existente. mode es la mejor manera de garantizar que los archivos se creen con los permisos correctos. Consulte CVE-2020-1736 para obtener más detalles. |
|
dueñocuerda | Nombre del usuario que debería ser propietario del archivo / directorio, como se enviaría a chown. | |
remote_srcbooleano agregado en 2.0 de ansible.builtin |
|
Influir si src necesita ser transferido o ya está presente de forma remota. no , buscará src en el nodo del controlador. yes buscará src en el nodo administrado (remoto).remote_src admite copia recursiva a partir de la versión 2.8.remote_src solo funciona con mode=preserve a partir de la versión 2.6. El cifrado automático de archivos no funciona cuando remote_src=yes . |
selevelcuerda | La parte de nivel del contexto del archivo SELinux. Este es el atributo MLS / MCS, a veces conocido como range .Cuando se establece en _default , usará el level parte de la póliza si está disponible. |
|
serolacuerda | El rol parte del contexto del archivo SELinux. _default , usará el role parte de la póliza si está disponible. |
|
setypecuerda | La parte de tipo del contexto del archivo SELinux. _default , usará el type parte de la póliza si está disponible. |
|
seusercuerda | La parte del usuario del contexto del archivo SELinux. system política, cuando corresponda. _default , usará el user parte de la póliza si está disponible. |
|
srcsendero | Ruta local a un archivo para copiar al servidor remoto. Puede ser absoluta o relativa. Si la ruta es un directorio, se copia de forma recursiva. En este caso, si la ruta termina con “/”, solo los contenidos internos de ese directorio se copian en el destino. De lo contrario, si no termina con “/”, se copia el directorio con todos los contenidos. Este comportamiento es similar al rsync herramienta de línea de comandos. |
|
unsafe_writesbooleano agregado en 2.2 de ansible.builtin |
|
Influir en el momento de utilizar la operación atómica para evitar la corrupción de datos o lecturas inconsistentes del archivo de destino. De forma predeterminada, este módulo utiliza operaciones atómicas para evitar la corrupción de datos o lecturas inconsistentes de los archivos de destino, pero a veces los sistemas están configurados o simplemente dañados de manera que evitan esto. . Un ejemplo son los archivos montados en la ventana acoplable, que no se pueden actualizar atómicamente desde el interior del contenedor y solo se pueden escribir de manera insegura. Esta opción permite que Ansible recurra a métodos inseguros para actualizar archivos cuando fallan las operaciones atómicas (sin embargo, no lo hace) forzar a Ansible a realizar escrituras inseguras). Las escrituras no seguras están sujetas a condiciones de carrera y pueden provocar daños en los datos. |
validarcuerda | El comando de validación para ejecutar antes de copiar en su lugar. La ruta al archivo para validar se pasa a través de ‘% s’ que debe estar presente como en los ejemplos a continuación. El comando se pasa de forma segura para que las funciones de shell como la expansión y las tuberías no funcionen . |
Notas
Nota
- los ansible.builtin.copy La función de copia recursiva del módulo no se escala a lotes (> cientos) de archivos.
- Apoyos
check_mode
.
Ver también
Ver también
- ansible.builtin.assemble
-
La documentación oficial sobre el ansible.builtin.assemble módulo.
- ansible.builtin.fetch
-
La documentación oficial sobre el ansible.builtin.fetch módulo.
- ansible.builtin.file
-
La documentación oficial sobre el ansible.builtin.file módulo.
- ansible.builtin.template
-
La documentación oficial sobre el ansible.builtin.template módulo.
- ansible.posix.synchronize
-
La documentación oficial sobre el ansible.posix.synchronize módulo.
- ansible.windows.win_copy
-
La documentación oficial sobre el ansible.windows.win_copy módulo.
Ejemplos de
-name: Copy file with owner and permissions ansible.builtin.copy:src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode:'0644'-name: Copy file with owner and permission, using symbolic representation ansible.builtin.copy:src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode: u=rw,g=r,o=r -name: Another symbolic mode example, adding some permissions and removing others ansible.builtin.copy:src: /srv/myfiles/foo.conf dest: /etc/foo.conf owner: foo group: foo mode: u+rw,g-wx,o-rwx -name: Copy a new "ntp.conf" file into place, backing up the original if it differs from the copied version ansible.builtin.copy:src: /mine/ntp.conf dest: /etc/ntp.conf owner: root group: root mode:'0644'backup: yes -name: Copy a new "sudoers" file into place, after passing validation with visudo ansible.builtin.copy:src: /mine/sudoers dest: /etc/sudoers validate: /usr/sbin/visudo -csf %s -name: Copy a "sudoers" file on the remote machine for editing ansible.builtin.copy:src: /etc/sudoers dest: /etc/sudoers.edit remote_src: yes validate: /usr/sbin/visudo -csf %s -name: Copy using inline content ansible.builtin.copy:content:'# This file was moved to /etc/other.conf'dest: /etc/mine.conf -name: If follow=yes, /path/to/file will be overwritten by contents of foo.conf ansible.builtin.copy:src: /etc/foo.conf dest: /path/to/link # link to /path/to/filefollow: yes -name: If follow=no, /path/to/link will become a file and be overwritten by contents of foo.conf ansible.builtin.copy:src: /etc/foo.conf dest: /path/to/link # link to /path/to/filefollow: no
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción |
---|---|---|
archivo de respaldocuerda | cambiado y si copia de seguridad = sí | Nombre del archivo de respaldo creado. Muestra:/camino a/[email protected]: 09 ~ |
suma de comprobacióncuerda | éxito | Suma de comprobación SHA1 del archivo después de ejecutar la copia. Muestra:6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
destcuerda | éxito | Archivo / ruta de destino. Muestra:/ruta/a/archivo.txt |
gidentero | éxito | ID de grupo del archivo, después de la ejecución. Muestra:100 |
grupocuerda | éxito | Grupo del archivo, después de la ejecución. Muestra:httpd |
md5sumcuerda | cuando es compatible | Suma de comprobación MD5 del archivo después de ejecutar la copia. Muestra:2a5aeecc61dc98c4d780b14b330e3282 |
modocuerda | éxito | Permisos del objetivo, después de la ejecución. Muestra:420 |
dueñocuerda | éxito | Propietario del archivo, después de la ejecución. Muestra:httpd |
Tallaentero | éxito | Tamaño del objetivo, después de la ejecución. Muestra:1220 |
srccuerda | cambió | Archivo de origen utilizado para la copia en la máquina de destino. Muestra:/home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
estadocuerda | éxito | Estado del objetivo, después de la ejecución. Muestra:expediente |
uidentero | éxito | Identificación del propietario del archivo, después de la ejecución. Muestra:100 |
Autores
- Equipo principal de Ansible
- Michael DeHaan
Si te gusta este mundo, tienes la opción de dejar un ensayo acerca de qué te ha gustado de esta crónica.