首页 > 解决方案 > Ansible:如何使用来自远程主机的文件发送附件

问题描述

我知道如何通过电子邮件发送附件,但这是假设文件位于 ansible 控制器上。

一天内多次,我被要求将两台不同服务器上的日志文件发送给某些人。我想运行一个可以做到这一点的剧本。

这是我到目前为止所拥有的:

---
- hosts: server1:server2
  remote_user: joe
  become: yes
  become_method: sudo

  tasks:
  - name: Sending error and debug logs to Bob, Suzie
    mail:
      host: localhost
      port: 25
      subject: Logs from {{ ansible_hostname }}
      body: Here are the logs that you have requested
      from: webuser <webuser@something.com>
      to:
      - Bob Smith <bob@something.com>
      - Suzie Owens <suzie@something.com>
      attach:
      - /var/www/stg.something.com/logs/debug.log
      - /var/www/stg.something.com/logs/error.log
      headers:
      - Reply-To=webuser@something.com
      charset: us-ascii
    become: yes
    become_user: webuser
    become_method: sudo
    delegate_to: localhost

我会假设我的问题是delegate_to。我的问题是包含 server1 和 server2 的格式是什么?

标签: emailloggingansibleyamlattachment

解决方案


请使用delegate_to:“{{inventory_hostname }}”


推荐阅读