使用ansible 上传多个文件到远程服务器上 写出案例
时间: 2024-04-29 11:25:14 浏览: 185
当然可以,以下是一个使用 Ansible 上传多个文件到远程服务器的案例:
首先,在你的 Ansible playbook 文件中,你需要使用 Ansible 的 copy 模块来上传文件。例如,假设你有三个文件需要上传,分别是 file1.txt、file2.txt 和 file3.txt,它们都在本地的 /path/to/files 目录下,你想要把它们上传到远程服务器的 /remote/path 目录下,那么你的 playbook 可以这样写:
```
- name: Upload multiple files
copy:
src: "{{ item }}"
dest: "/remote/path/{{ item }}"
with_items:
- file1.txt
- file2.txt
- file3.txt
```
这个 playbook 使用了 with_items 关键字来循环上传多个文件,每个文件都使用 copy 模块来上传。src 参数指定了本地文件的路径,dest 参数指定了远程服务器上的路径。注意,这里用了 Jinja2 模板引擎的语法来动态指定文件名,这样可以避免硬编码文件名,使 playbook 更加灵活。
当然,你也可以使用 fileglob 模块来上传一个目录下的所有文件,例如:
```
- name: Upload all files in directory
copy:
src: "/path/to/files/*"
dest: "/remote/path/"
```
这个 playbook 会上传 /path/to/files 目录下的所有文件到远程服务器的 /remote/path 目录下。注意,这里的 src 参数使用了通配符 * 来匹配所有文件。
阅读全文