可以在playbook中定义ansible_tmp变量吗?

时间:2016-09-24 07:40:09

标签: ansible ansible-playbook

我想使用ansible复制大文件。目标服务器具有专用分区,具有足够的存储空间。我注意到ansible使用了由remote_tmp变量定义的临时目录。

我想直接复制专用分区中的文件而不通过临时目录。

在这种情况下,是否可以在playbook中定义remote_tmp变量?我正在运行ansible 1.8。

感谢您的回答。

3 个答案:

答案 0 :(得分:2)

您可以在Ansible配置中更改remote_tmp Ansible使用的是在工作目录中首先查找的配置树,因此您可以在播放簿旁边放置ansible.cfg文件,该文件仅更改此值,并且不会影响其他目录中的剧本。

但如果您需要高级选项来复制文件,我建议您使用synchronize_module

答案 1 :(得分:1)

您可以在 ansible 2.5 版之后使用 ansible_remote_tmp 变量。

ansible-playbook test.yaml --extra-vars "ansible_remote_tmp=/tmp/.ansible/tmp"

答案 2 :(得分:0)

在您的库存文件中,您可以声明它:

node-0 ansible_host=xxx.xxx.xxx.xxx ansible_user=root
node-1 ansible_host=xxx.xxx.xxx.xxx  ansible_user=root
node-2 ansible_host=xxx.xxx.xxx.xxx  ansible_user=root

[xx]
node-0
node-1
node-2

[xxx]
node-0

[xxxx]
node-1
node-2

[all:vars] 
ansible_remote_tmp=/tmp/.ansible