zabbix郵件報警以附件發送的解決方法

       最近搭建了一個zabbix服務器,但是到郵件報警的時候出問題了,爲什麼發送老是發送個附件。腳本命令是echo "$3"|mail -s "$2" $1  應該是對着呢。

最後查了好多資料,實驗了很多次,發現大致的原因。因爲windows和linux的換行符不同導致的。

可以把附件file一下看到:

[root@zabbix ~]# file tcmime.1953.1953.2321.bin 

tcmime.1953.1953.2321.bin: UTF-8 Unicode text, with CRLF, LF line terminators

然後file 普通的文本文件

[root@zabbix alertscripts]# 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,然後進行測試發送發送的是內容了。

具體應該還有其他更簡單解決的方法,說不定配置文件修改下就行,但是我不知道,現在只能這樣用了。誰有其他的方法可以給我說下,謝謝了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章