Saltar al contenido

Copie el archivo local si existe, usando ansible

Solución:

Una respuesta más completa:

Si desea comprobar la existencia de un local archivo antes de realizar alguna tarea, aquí está el fragmento completo:

- name: get file stat to be able to perform a check in the following task
  local_action: stat path=/path/to/file
  register: file

- name: copy file if it exists
  copy: src=/path/to/file dest=/destination/path
  when: file.stat.exists

Si desea comprobar la existencia de un remoto archivo antes de realizar alguna tarea, este es el camino a seguir:

- name: get file stat to be able to perform check in the following task
  stat: path=/path/to/file
  register: file

- name: copy file if it exists
  copy: src=/path/to/file dest=/destination/path
  when: file.stat.exists

Cambie su primer paso por el siguiente en

- name: copy local filetocopy.zip to remote if exists
  local_action: stat path="../filetocopy.zip"
  register: result    

Si no desea configurar dos tareas, puede usar ‘is file’ para verificar si existen archivos locales:

tasks:
- copy: src=/a/b/filetocopy.zip dest=/tmp/filetocopy.zip
  when: '/a/b/filetocopy.zip' is file

La ruta es relativa al directorio del libro de jugadas, por lo que se recomienda usar la variable mágica role_path si se refiere a archivos dentro del directorio de roles.

Ref: http://docs.ansible.com/ansible/latest/playbooks_tests.html#testing-paths

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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