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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM