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

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

一、svn版本号获取:

  • 命令:svn info URL

image

获取最新版本信息之后通过一些组合命令即可获取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都自带了。

image

 

  • 邮件服务设置:

image

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

image

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

set from=xxx@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=xxx@qq.com

set smtp-auth-password=xxxxx

set smtp-auth=login

 

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

image

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

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

image

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

三、定时任务:

image

image