eddik 发表于 2019-1-25 13:26:13

zabbix邮件报警以附件发送的解决方法

  最近搭建了一个zabbix服务器,但是到邮件报警的时候出问题了,为什么发送老是发送个附件。脚本命令是echo "$3"|mail -s "$2" $1应该是对着呢。

  最后查了好多资料,实验了很多次,发现大致的原因。因为windows和linux的换行符不同导致的。
  可以把附件file一下看到:
  # file tcmime.1953.1953.2321.bin
  tcmime.1953.1953.2321.bin: UTF-8 Unicode text, with CRLF, LF line terminators
  然后file 普通的文本文件
  # file 1.txt
  1.txt: UTF-8 Unicode text
  使用vim 会显示附件的内容每行后面都有^M 。只要把这个^M去掉,然后发送的话就不会是附件的形式了。去掉^M可以使用dos2unix工具,yum直接下载个就行了。
  有了思路然后把脚本修改成了:

  #!/bin/sh
  echo "$3" > /usr/local/zabbix/share/zabbix/alertscripts/1.txt
  dos2unix /usr/local/zabbix/share/zabbix/alertscripts/1.txt
  mail -s "$2" $1 < /usr/local/zabbix/share/zabbix/alertscripts/1.txt
  然后自己创建个1.txt文件,注意所有者要改为zabbix:zabbix,然后进行测试发送发送的是内容了。
  具体应该还有其他更简单解决的方法,说不定配置文件修改下就行,但是我不知道,现在只能这样用了。谁有其他的方法可以给我说下,谢谢了。



页: [1]
查看完整版本: zabbix邮件报警以附件发送的解决方法