ansible-playbook 之 拷贝路径
Posted riseast
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible-playbook 之 拷贝路径相关的知识,希望对你有一定的参考价值。
1,使用copy模块时,src 路径可以不用写,直接写要copy的文件名称即可 ansible 自己会根据一定的规律来遍历路径,是否存在该文件(拷贝的对象)
1.
[root@localhost kafka]# tree
.
├── hosts
│?? ├── kafka_hosts
│?? └── kafka_manager_hosts
├── kafka_manager.retry
├── kafka_manager.yml
├── kafka.retry
├── kafka.yml
├── roles
│?? ├── kafka_manager
│?? │?? ├── files
│?? │?? │?? ├── start.sh
│?? │?? │?? └── start.sh-bak
│?? │?? ├── handlers
│?? │?? │?? └── main.yml
│?? │?? ├── meta
│?? │?? ├── tasks
│?? │?? │?? └── main.yml
│?? │?? ├── templates
│?? │?? │?? └── application.conf.j2
│?? │?? ├── test4.txt
│?? │?? └── vars
│?? │?? └── main.yml
│?? ├── kafka_server
│?? │?? ├── files
│?? │?? │?? ├── kafka_2.11-1.1.1.tgz
│?? │?? │?? ├── start.sh
│?? │?? │?? ├── test5.txt
│?? │?? │?? ├── tmp_hosts
│?? │?? │?? └── tsta.txt
│?? │?? ├── handlers
│?? │?? │?? └── main.yml
│?? │?? ├── meta
│?? │?? ├── tasks
│?? │?? │?? ├── main.yml
│?? │?? │?? ├── main.yml.bak
│?? │?? │?? └── test6.txt
│?? │?? ├── templates
│?? │?? │?? └── server.properties.j2
│?? │?? ├── test3.txt
│?? │?? └── vars
│?? │?? ├── main.yml
│?? │?? └── test7.txt
│?? └── test2.txt
├── test1.txt
└── test.log
16 directories, 29 files
2.
cat xxxx.yml
- name: copy JAR files to remote
copy: src={{ item }} dest={{ basedir }}/src owner=root mode=700
with_items:
- kafka_2.11-1.1.1.tgz
- tmp_hosts
- name: echo tmp_hosts
shell: cat tmp_hosts >> /etc/hosts chdir={{ basedir }}/src
3.遍历路径,因此文件的路径,需要留意,不是任何路径都可以放的,一般放在 roles/xxx/files 目录
AnsibleFileNotFound: Could not find or access ‘test2.txt‘
/home/srv/kafka/roles/kafka_server/files/test2.txt
/home/srv/kafka/roles/kafka_server/test2.txt
/home/srv/kafka/roles/kafka_server/tasks/files/test2.txt
/home/srv/kafka/roles/kafka_server/tasks/test2.txt
/home/srv/kafka/files/test2.txt
/home/srv/kafka/test2.txt on the Ansible Controller.
以上是关于ansible-playbook 之 拷贝路径的主要内容,如果未能解决你的问题,请参考以下文章