背景介绍:公司需要运维在工作日内定时给测试部门发邮件通知SVN版本号并且去测试,每天手动发太烦,纯手工重复无效益的活,那就来自动的吧。linux自动发邮件还在zabbix监控通知等方面也可以用到。

关键点:centos7,svn版本号获取,发邮件工具以及设置,定时执行crontab。

一、svn版本号获取:

  • 命令:svn info URL

linux 自动发邮件_第1张图片

获取最新版本信息之后通过一些组合命令即可获取SVN版本号。

image

 

二、发邮件:

  • 工具:yum安装即可,mailx-12.5-12.el7_0.x86_64,postfix-2.10.1-6.el7.x86_64,sendmail-8.14.7-4.el7.x86_64;一般centos 7都自带了。

linux 自动发邮件_第2张图片

 

  • 邮件服务设置:

linux 自动发邮件_第3张图片

打开mail.rc文件,并在最优添加如下信息即可:

linux 自动发邮件_第4张图片

mail 发送邮件要修改 /etc/mail.rc 脚本文件,设置发件人地址、SMTP 服务器、发件人邮箱名、密码、

set [email protected]

set smtp=smtp.qq.com

set [email protected]

set smtp-auth-password=xxxxx

set smtp-auth=login

 

  • 邮件发送:mail命令的三种发送方式

image

1、直接使用shell当编辑器
2、使用管道进行邮件发送
3、使用文件进行邮件发送

三种方式各有利弊,只是传送邮件内容的方式不同而已,本质是一样的。摘抄网友作品,如下图:

linux 自动发邮件_第5张图片

我要用脚本,所以使用管道传送。

三、定时任务:

linux 自动发邮件_第6张图片

linux 自动发邮件_第7张图片