SVN日志邮件定时发送配置指南

栏目:技术文章 发布时间:2026-05-05 09:35
通过配置mail服务、svn日志采集及crontab定时任务,实现SVN版本更新自动通知功能。本文提供完整的邮件发送设置流程与日志追踪方案,帮助团队高效管理代码修改记录。

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

第一步: 配置mail发送邮件

1、查看mail是否安装

SVN日志邮件定时发送配置指南(图1)

2、配置mail,在/etc/mail.rc中添加:

复制内容到剪贴板 set from=账号 smtp=smtp.exmail.qq.com       set smtp-auth-user=用户名        smtp-auth-password=密码 smtp-auth=login  

SVN日志邮件定时发送配置指南(图2)

3、smtp配置设置,我这里采用了qq企业邮箱,就以这个为例。

SVN日志邮件定时发送配置指南(图3)

4、测试mail是否能发送,echo 内容 | mail -s 标题 admin@jhonse.com

SVN日志邮件定时发送配置指南(图4)

SVN日志邮件定时发送配置指南(图5)

第二步: 获取svn版本日志

1、查看svn log 参数

SVN日志邮件定时发送配置指南(图6)

2、查看当天的版本日志

复制内容到剪贴板 svn log -r {DATE} -v       svn log -r {2015-11-25}:{2015-11-26} -v  

SVN日志邮件定时发送配置指南(图7)

3、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       fi  

SVN日志邮件定时发送配置指南(图8)

SVN日志邮件定时发送配置指南(图9)

第三步: 设置定时任务

1、创建执行文件

复制内容到剪贴板 #!/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      

SVN日志邮件定时发送配置指南(图10)

2、创建任务

复制内容到剪贴板 crontab -e       30 8 * * * . /usr/local/command/sendSvnLogMail.sh  

SVN日志邮件定时发送配置指南(图11)

3、查看任务

crontab -l

SVN日志邮件定时发送配置指南(图12)

相关推荐:

CentOS 6.7系统中给IP配置的两种教程

CentOS 7.1 中文正式版怎么样?CentOS 7.1功能介绍及下载安装