您的位置:

Ansible Fetch:为什么它是一个必不可少的工具?

一、安装和配置

1、安装Ansible:

sudo apt install ansible

2、配置inventory文件:

[webserver]
192.168.1.100 ansible_user=ubuntu ansible_ssh_private_key_file=/path/to/private_key

3、在目标主机上安装Python和SSH服务器:

sudo apt-get install python ssh

二、基础用法

1、使用Ansible fetch从远程服务器获取文件:

ansible webserver -m fetch -a "src=/etc/hosts dest=/tmp/"

2、将多个文件合并到一个目录:

ansible webserver -m fetch -a "src=/var/log/syslog* dest=/tmp/flat mode=600 flat=yes"

3、将结果存储在本地文件:

ansible webserver -m fetch -a "src=/var/log/syslog dest=/tmp/" --become --become-user=root --ask-become-pass --private-key=path/to/key

三、高级用法

1、指定ssh证书:

ansible webserver -m fetch -a "src=/etc/hosts dest=/tmp/" --key-file=~/path/to/key.pem

2、过滤结果:

ansible webserver -m fetch -a "src=/var/log/syslog dest=/tmp/" --args 'grep -v test'

3、自定义目标文件名:

ansible webserver -m fetch -a "src=/etc/hosts dest=/tmp/new_name"

4、使用sudo权限:

ansible webserver -m fetch -a "src=/var/log/syslog dest=/tmp/" --become --ask-become-pass

四、结合playbook使用

1、定义任务:

- name: Fetch logs from webserver
  hosts: webserver
  gather_facts: no
  remote_user: ubuntu
  tasks:
    - name: Get syslog
      fetch:
        src: /var/log/syslog
        dest: /tmp/syslog
      tags:
        - logs

2、运行playbook:

ansible-playbook fetch_logs.yml

五、总结

Ansible fetch是一个非常强大的工具,可以轻松地从远程服务器获取文件并将其下载到本地。此外,它还可以结合playbook使用,使得管理服务器变得更简单。无论你是在构建复杂的系统还是仅仅需要从远程服务器获取文件,Ansible Fetch都是一个必不可少的工具。