Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
452b400
New translations dokuwiki_server.md (Spanish)
rockylinux-auto Aug 5, 2022
ac8c4c3
New translations 03-working-with-files.md (Spanish)
rockylinux-auto Aug 5, 2022
a6092d5
New translations ssh_public_private_keys.md (Spanish)
rockylinux-auto Aug 5, 2022
ec7f312
New translations vbox-rocky.md (Spanish)
rockylinux-auto Aug 5, 2022
76a52c1
New translations rkhunter.md (Spanish)
rockylinux-auto Aug 5, 2022
d166bac
New translations 04-ansible-galaxy.md (Spanish)
rockylinux-auto Aug 5, 2022
ef8a486
New translations vbox-rocky.md (Spanish)
rockylinux-auto Aug 8, 2022
057a3e7
New translations 05-deployments.md (Spanish)
rockylinux-auto Aug 8, 2022
9a782c7
New translations 08-management-server-optimizations.md (Spanish)
rockylinux-auto Aug 8, 2022
e9cc228
New translations 07-working-with-filters.md (Spanish)
rockylinux-auto Aug 8, 2022
bca1488
New translations 05-vi.md (Italian)
rockylinux-auto Aug 8, 2022
92919b4
New translations lxd_web_servers.md (Italian)
rockylinux-auto Aug 8, 2022
b02c334
New translations 02_rsync_demo01.md (Italian)
rockylinux-auto Aug 8, 2022
6c748e5
New translations 01_rsync_overview.md (Italian)
rockylinux-auto Aug 8, 2022
72eb622
New translations 06_rsync_inotify.md (Italian)
rockylinux-auto Aug 8, 2022
4188a11
New translations 9_0.md (Italian)
rockylinux-auto Aug 8, 2022
d704f6c
New translations enabling_iptables_firewall.md (Spanish)
rockylinux-auto Aug 9, 2022
2351d00
New translations dnf_automatic.md (Spanish)
rockylinux-auto Aug 9, 2022
7c36a42
Merge branch 'main' into l10n
sspencerwire Aug 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/books/admin_guide/05-vi.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -355,15 +355,15 @@ Queste operazioni sono fatte in modalità *comando*.

* Annulla una cancellazione

<kbd>Ctrl+R</kbd>
<kbd>Ctrl+r</kbd>

## comando EX

La modalità *Ex* ti consente di agire sul file (salvataggio, disposizione, opzioni, ...). È dentro la modalità *Ex* che vengono inseriti i comandi di ricerca e sostituzione. I comandi vengono visualizzati nella parte inferiore della pagina e devono essere convalidati con il tasto <kbd>ENTER</kbd>.

Per passare alla modalità *Ex*, dalla modalità *comando*, digita <kbd>:</kbd>.

### Numerazione delle linee
### Numeri di riga del file

* Mostra/nascondi numerazione:

Expand Down
151 changes: 151 additions & 0 deletions docs/books/learning_ansible/03-working-with-files.es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: Gestión de archivos
---

# Ansible - Gestión de archivos

En este capítulo aprenderás a gestionar archivos con Ansible.

****

**Objetivos**: En este capítulo aprenderá a:

:heavy_check_mark: modificar el contenido de un archivo;
:heavy_check_mark: subir archivos a los servidores de destino;
:heavy_check_mark: descargar archivos desde los servidores de destino.

:checkered_flag: **ansible**, **module**, **files**

**Conocimiento**: :star: :star:
**Complejidad**: :star:

**Tiempo de lectura**: 20 minutos

****

Dependiendo de sus necesidades, tendrá que utilizar módulos de Ansible diferentes para modificar los archivos de configuración del sistema.

## Módulo `ini_file`

Cuando quiera modificar un archivo INI (la sección entre `[]` y los pares `clave=valor`), la forma más fácil es utilizar el módulo `ini_file`.

!!! Note

Puede encontrar más información [aquí](https://docs.ansible.com/ansible/latest/collections/community/general/ini_file_module.html).

El módulo requiere:

* El valor de la sección
* El nombre de la opción
* El nuevo valor

Ejemplo de uso:

```
- name: change value on inifile
community.general.ini_file:
dest: /path/to/file.ini
section: SECTIONNAME
option: OPTIONNAME
value: NEWVALUE
```

## Módulo `lineinfile`

Para asegurarse de que una línea está presente en un archivo, o cuando se necesita añadir o modificar una sola línea en un archivo, utilice el módulo `linefile`.

!!! El comando leerá el flujo de entrada hasta que encuentre la palabra clave definida después de la redirección de entrada.

Puede encontrar más información [aquí](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/lineinfile_module.html).

En este caso, la línea a modificar en un archivo se encontrará mediante una regexp.

Por ejemplo, para garantizar que la línea que comienza con `SELINUX=` en el archivo `/etc/selinux/config` contiene el valor `enforcing`:

```
- ansible.builtin.lineinfile:
path: /etc/selinux/config
regexp: '^SELINUX='
line: 'SELINUX=enforcing'
```

## Módulo `copy`

Cuando hay que copiar un archivo desde el servidor Ansible a uno o más hosts, es mejor utilizar el módulo `copy`.

!!! El comando leerá el flujo de entrada hasta que encuentre la palabra clave definida después de la redirección de entrada.

Puede encontrar más información [aquí](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html).

Aquí estamos copiando el archivo `myflile.conf` de una ubicación a otra:

```
- ansible.builtin.copy:
src: /data/ansible/sources/myfile.conf
dest: /etc/myfile.conf
owner: root
group: root
mode: 0644
```

## Módulo `fetch`

Cuando hay que copiar un archivo de un servidor remoto a un servidor local, lo mejor es utilizar el módulo `fetch`.

!!! El comando leerá el flujo de entrada hasta que encuentre la palabra clave definida después de la redirección de entrada.

Puede encontrar más información [aquí](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/fetch_module.html).

Este módulo hace lo contrario que el módulo `copy`:

```
- ansible.builtin.fetch:
src: /etc/myfile.conf
dest: /data/ansible/backup/myfile-{{ inventory_hostname }}.conf
flat: yes
```

## Módulo `template`

Ansible y su módulo `template` utilizan el sistema de plantillas **Jinja2** (http://jinja.pocoo.org/docs/) para generar archivos en los hosts de destino.

!!! El comando leerá el flujo de entrada hasta que encuentre la palabra clave definida después de la redirección de entrada.

Puede encontrar más información [aquí](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.html).

Por ejemplo:

```
- ansible.builtin.template:
src: /data/ansible/templates/monfichier.j2
dest: /etc/myfile.conf
owner: root
group: root
mode: 0644
```

Es posible añadir un paso de validación si el servicio de destino lo permite (por ejemplo Apache con el comando `apachectl -t`):

```
- template:
src: /data/ansible/templates/vhost.j2
dest: /etc/httpd/sites-available/vhost.conf
owner: root
group: root
mode: 0644
validate: '/usr/sbin/apachectl -t'
```

## Módulo `get_url`

Para subir archivos desde un sitio web o ftp a uno o más hosts, utilice el módulo `get_url`:

```
- get_url:
url: http://site.com/archive.zip
dest: /tmp/archive.zip
mode: 0640
checksum: sha256:f772bd36185515581aa9a2e4b38fb97940ff28764900ba708e68286121770e9a
```

Al proporcionar una suma de comprobación del archivo, éste no se volverá a descargar si ya está presente en la ubicación de destino y su suma de comprobación coincide con el valor proporcionado.
Loading