Linux设置邮件提醒

Linux设置邮件提醒,第1张

《Linux设置定时任务》 一文中,我们学习了使用crontab设置定时任务的方法,并用它来获取ganglia的运行状态。这样还不够,我们想要在ganglia的运行状态出现问题时通知我们,这样,我们就不用每天自己查看日志了。

本文主要参考 Ubuntu mail命令发送邮件 和 如何通过Shell脚本实现发送邮件通知功能? 。

1、安装mailutils

sudo apt-get install mailutils

2、General type of mail configuration选择Internet Site。

3、System mail name输入mail.voidking.com。

命令格式:

mail [OPTION...] [address...]

常用到的选项,一个是s,代表主题;一个是A,代表附件。其他的需要时查看help。

目标:给邮箱 [email protected] 发送邮件,主题为“Hello VoidKing”,内容为“Welcome to mail world!”

mail -s 'Hello VoidKing' [email protected]

提示Cc,这里不需要抄送,就直接回车。然后输入邮件内容“Welcome to mail world!”,回车,ctrl+D,发送邮件。

但是,等待了几分钟,并没有收到邮件,垃圾箱也没有。

mail ,查看email的发送状态为Undelivered Mail Returned,原来没有投递出去。

查看邮件系统日志: tail -n 50 /var/spool/mail/test ,提示host mx3.qq.com[183.57.48.35] said: 550 Mail content denied。看来qq邮箱的垃圾邮件防御机制做的不错,那就换个163邮箱,没想到依然失败。

那就换一台服务器!发送给 [email protected] ,成功!很尴尬。。。

除了上面的方式发送邮件,我们还可以使用:

mail -s 'Hello VoidKing' [email protected] <<<'Welcome to mail world!'

或者使用:

echo 'Welcome to mail world!' | mail -s "Hello VoidKing" [email protected]

1、从文本读入内容发送邮件

mail -s 'Error report' [email protected] </tmp/log/ganglia/error-20180524.log

2、发送附件

mail -s 'Error report' [email protected] -A /tmp/log/ganglia/ganglia-20180524.log </tmp/log/ganglia/error-20180524.log

3、指定发件人

echo 'Welcome to mail world!' | mail -s "Hello VoidKing" [email protected] -aFrom:[email protected]

失败了,收不到邮件,不知道什么原因,留个坑吧。

目标:每天获取一次ganglia的状态日志,然后通过checkganglia.sh脚本进行审阅。审阅完毕,发送审阅结果到管理员的邮箱。

修改checkganglia.sh脚本为:

至此,大功告成! 《Linux设置定时任务》 配合 《Linux设置邮件提醒》 ,简直完美!两篇文章完成了一个小系统:定时生成ganglia日志,定时审阅ganglia日志,并且把审阅结果通过邮件发送给管理员。

Linux命令大全——LMNOPQ

如何在Ubuntu环境下搭建邮件服务器(一)

一、修改/etc/mail.rc //在最后面追加就行,也可以 echo >>

set [email protected] //你自己的真实邮箱地址

set smtp=smtp.exmail.qq.com //在邮箱设置,客户端设置,设置方法,发送服务器里

set [email protected] //自己邮箱真实地址

set smtp-auth-password=123456 //自己邮箱密码

set smtp-auth=login

:wq

二、到这里已经实现实现外部邮箱发送mail了,可以命令行输入

echo "Test Mail" | mail -s "Test" [email protected]

########################################################################

也可以写脚本:

#!/bin/bash

user="

目标1 [email protected]

目标2 [email protected]

……

"

userlist=`echo -e "${user}" | awk ‘{print $2}‘`

echo $userlist

mail -v -s "测试邮件" $userlist <test.txt

:wq

其中:

-v 显示详细信息

-s 邮件标题

test.txt 是你要输入邮件的内容

然后crontab -e 编辑计划任务,就可以实现定时发送邮件啦!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6243347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存