首页 > 解决方案 > 从剧本访问 local_tmp

问题描述

我一直在设置我必须下载的每个临时文件的目标路径。例如:

- name: Downloading file
  uri:
    url: "{{url}}"
    dest: ~/.ansible/tmp/

有没有办法从剧本中读取配置变量local_tmp(和)?remote_tmp

标签: ansible

解决方案


我不确定为什么要将临时文件放在Ansible 处理的local_tmp/目录下。remote_tmp

有一个名为的模块tempfile允许您在系统临时目录中指定的路径下创建一个临时目录:

- name: Ensure a temporary directory for download exists
  tempfile:
    state: directory
    suffix: my_download
  register: temp_dir

- name: Ensure a file is downloaded from {{ url }}
  uri:
    url: "{{ url }}"
    dest: "{{ temp_dir.path }}"

如果您想在剧本运行中保留名称,只需在lookup('env', 'TMPDIR') | default('/tmp')本地或ansible_env.TMPDIR | default('/tmp')远程创建一个子目录。


推荐阅读