CentOS 7.0 配置mail定时发送svn日志邮件

公司搭建了svn服务器,现在的需求是需要每天定时给上司发送svn日志邮件,所以就一步一步来配置。

第一步: 配置mail发送邮件

查看mail是否安装

20151125092805

配置mail

在/etc/mail.rc中添加:

set from=账号 smtp=smtp.exmail.qq.com

set smtp-auth-user=用户名 smtp-auth-password=密码 smtp-auth=login

20151125092953

smtp配置设置

我这里采用了qq企业邮箱,就以这个为例。

20151125093441

 

测试mail是否能发送

echo 内容 | mail -s 标题 admin@jhonse.com

20151125093250

20151125093638

第二步: 获取svn版本日志

查看svn log 参数

20151125100332

查看当天的版本日志

svn log -r {DATE} -v

svn log -r {2015-11-25}:{2015-11-26} -v

20151125103447

SVN强制用户填写日志信息

在hook目录下添加pre-commit

REPOS=”$1″

TXN=”$2″

SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” |wc -c`

if [ “$LOGMSG” -lt 15 ];

then

echo “Log message can’t be empty! you must input more than 15 chars as comment!.” 1>&2

exit 1

fi2015112510380920151125103916

 

第三步: 设置定时任务

创建执行文件

#!/bin/sh

#send svn log mail

cd /***

/usr/bin/svn log -r {$(date -d last-day +%Y-%m-%d)}:{$(date +%Y-%m-%d)} -v | mail -s svnLog_$(date +%Y-%m-%d) admin@jhonse.com

20151125111619

创建任务

crontab -e

30 8 * * * . /usr/local/command/sendSvnLogMail.sh

20151125111705

查看任务

crontab -l20151125111822

 

此文为(Jhonse技术博客)原创内容,特此声明.

Author: jhonse

Jhonse技术博客: http://blog.jhonse.com

Leave a Reply

Your email address will not be published. Required fields are marked *