Ubuntu定时发送日志到邮件

Ubuntu定时发送日志到邮件

场景描述

最近在Ubuntu 14.04服务器上跑实验,发现经常出问题但是我又不可能每次都及时去打开服务器看看日志,看看啥情况了,特别是实验数量比较多的时候,这时候希望这个检查日志的过程能够自动化一点,最好是定时发送到我的邮箱里面。

故作如下方案:

方案

1)sudo apt-get install heirloom-mailx -y 安装邮件服务,
而后sudo nano /etc/s-nail.rc编辑该文件,在末尾添加:

set from=xxx@qq.com
set smtp=smtps://smtp.qq.com:465
set smtp-auth-user=xxx@qq.com
set smtp-auth-password=<你的授权码>
set smtp-auth=login

授权码可以在QQ邮箱->上方设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码(我开启了IMAP/SMTP服务)这里获取 [1]:

在这里插入图片描述

2)新建脚本:nano send-email.sh,添加如下内容

# this is to send email every 3 hours
# 同步时区
source /etc/profile

curTime=`date`
#echo "$curTime"
cat "repair_2019-08-05.log" | mail -s "(Server2)-$curTime" xxx@qq.com

"(Server2)-$curTime" 是邮件标题
xxx@qq.com 是收件方邮箱

3)赋予执行权限 chmod +x send-email.sh

4)sudo nano /etc/crontab,在末尾添加:

0 */3 * * * root  /bin/bash /xxx/send-email.sh

/xxx/send-email.sh是这个脚本的绝对路径。

即可。

补充

发邮件的三种方式(可直接在shell中运行):

echo "邮件正文" | mail -s 邮件主题 test@126.com
mail -s test test@126.com < test.txt
mail -s "邮件标题" "111111@qq.com" < content.txt

参考

[1] ubuntu 16.04.1 实现shell发送邮件 https://dushen.iteye.com/blog/2426412

[2] How to send an email using command line? [duplicate] https://askubuntu.com/questions/522431/how-to-send-an-email-using-command-line

[3] Ubuntu 定时清理内存 https://blog.csdn.net/weixin_39278265/article/details/97780311

定时自动发送邮件服务使用说明 该软件运行环境需要.Net 3.5支持,Win7系统上可以直接运行. 主要功能可以定时自动发送邮件,发送程序做成服务形式,用户无需登录, 只要电脑是开启状态,就会自动执行发送邮件. 包含的文件, 1.AutoSendMail.exe --设置程序 2.AutoSendMail_Log.txt --存放日志的文本文件. 可自动生成 3.AutoSendMail_Setting.xml --配置文件 4.AutoSendMailService.exe --服务程序 5.InstallUtil.exe --微软的安装服务必须程序 6.tasks.mdb --Access数据库文件,用于存放邮箱内容. 可更改文件 7.安装服务.bat 8.使用说明.txt 9.卸载服务.bat 安装步骤: 第一步:安装服务 运行“安装服务.bat”文件。(需要管理员权限) 第二步:修改配置文件 修改好配置文件AutoSendMail_Setting.xml。确保Access数据库连接正确,每个任务的发送时点,和邮件信息。 每次修改配置文件必需重新启动服务才生效。 第三步:启动服务 a.从服务管理控制台启动服务,运行services.msc命令打开控制台。 b.通过设置程序启动服务。(需要管理员权限) 如果删除服务,则运行“卸载服务.bat”。 接口定义: 每个任务需要在指定的Access数据库里设置一个视图或表,用于存放邮件信息, 字段格式: 第一字段:ID 自动编号 第二字段:收件人 文本类型 第三字段:抄送人 文本类型 第四字段:主题 文本类型 第五字段:内容 备注类型 第六字段:发送次数 数字类型 备注:程序通过ID查找记录,来更新发送次数的值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值