Helllo All,
我想从系统中复制文件。我的目录结构如下。
├── ansible
│ ├── inventory
│ └── playbook
├── node
│ ├── keys
│ ├── index.js
│ ├── node_modules
│ ├── package-lock.json
│ └── utils
└── shell
├── data.json
├── create-data.sh
├── destory.sh
└── firewall-rules.sh
因此,剧本位于ansible/playbook
路径中,我想从node/keys/
复制文件。我如何传递相对路径,以便ansible可以从node/keys
中选择并复制到服务器。
下面是剧本
- hosts: all
vars:
source: "{{ source }}"
destination: /home/ubuntu
tasks:
- name: Copy files
copy:
src: "{{ source }}"
dest: "{{ destination }}"
这就是我的跑步方式
ansible-playbook -i inventory/inventory.yaml playbook/crypto-generate.yaml
--extra-vars "source=../node/keys"
我正在尝试传递相对路径
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以在src中使用绝对路径,从而避免了不知道根文件夹在哪里的问题。
要复制到远程服务器的文件的本地路径。这可以是 绝对或相对。如果path是目录,则将其复制 递归地在这种情况下,如果路径以“ /”结尾,则仅内部内容 该目录的副本将复制到目标。否则,如果没有 以“ /”结尾的目录本身将被复制。这个 行为类似于rsync命令行工具。
https://docs.ansible.com/ansible/latest/modules/copy_module.html