我希望通过电子邮件发送一份ansible playbook的结果
我正在使用debug:var = results.stdout_lines来显示shell命令的标准输出,但我想将其捆绑并通过电子邮件发送给自己。
我觉得必须有一个内置的方法来做到这一点,但我找不到任何东西?
我的剧本看起来像
- name: run command
shell: echo `hostname`
register: results
when: ansible_os_family == "Debian"
- debug: var=results.stdout_lines
将在playbook运行期间打印命令的stdout结果,但我想将其发送给自己。
我尝试通过电子邮件发送已注册的变量'results',但它失败了
- local_action: mail
subject='Maricache backup report'
body={{ results.stdout_lines }}
to='partytime@gmail.com'
答案 0 :(得分:0)
尝试一下,在某处找到解决方案,它也对我有用。
- name: logs result
shell: grep "`date '+%b.%d'`" /var/log/commands.log
register: command_log
- name: mail result
mail:
to: helloworld@xyz.com
subject: "command logs for today"
body: "{{ command_log.stdout }}"
when: command_log.stdout