email - 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 的格式是什么?
解决方案
请使用delegate_to:“{{inventory_hostname }}”
推荐阅读
- java - 元素
不允许嵌套 元素 - java - 如何动态设置 setContentType("text/html") 或 setContentType("text/plain")
- python - 在python中减去日期时间,理解格式
- r - 如何使用 compareGroups 包显示中位数?
- visual-studio-code - VSCode:禁用鼠标+ctrl交互
- python - Tensorflow 数据适配器错误:ValueError:无法找到可以处理输入的数据适配器
- r - 选择组的最后一行
- java - Janusgraph 0.3.2 + HBase 1.4.9 - 无法设置 graph.timestamps
- tsql - 无法弄清楚如何将 Dim 表中的列分配给度量值组
- sed - 将一个班轮私钥转换为多行(原始)