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

时间:2015-11-17 15:11:57 魔新豆网

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

  第一步: 配置mail发送邮件

  1、查看mail是否安装

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

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

  复制内容到剪贴板

  1. set from=账号 smtp=smtp.exmail.qq.com   
  2.   
  3. set smtp-auth-user=用户名    
  4.   
  5. smtp-auth-password=密码 smtp-auth=login  

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

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

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

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

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

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

  第二步: 获取svn版本日志

  1、查看svn log 参数

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

  2、查看当天的版本日志

  复制内容到剪贴板

  1. svn log -r {DATE} -v   
  2.   
  3. svn log -r {2015-11-25}:{2015-11-26} -v  

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

  3、SVN强制用户填写日志信息

  在hook目录下添加pre-commit

  复制内容到剪贴板

  1. REPOS="$1"  
  2.   
  3. TXN="$2"  
  4.   
  5. SVNLOOK=/usr/bin/svnlook   
  6.   
  7. LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" |wc -c`   
  8.   
  9. if [ "$LOGMSG" -lt 15 ];   
  10.   
  11. then   
  12.   
  13.    echo "Log message can't be empty! you must input more than 15 chars as comment!." 1>&2   
  14.   
  15.    exit 1   
  16.   
  17. fi  

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

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

  第三步: 设置定时任务

  1、创建执行文件

  复制内容到剪贴板

  1. #!/bin/sh   
  2.   
  3. #send svn log mail   
  4.   
  5. cd /***   
  6.   
  7. /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   
  8.   

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

  2、创建任务

  复制内容到剪贴板

  1. crontab -e   
  2.   
  3. 30 8 * * * . /usr/local/command/sendSvnLogMail.sh  

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

  3、查看任务

  crontab -l

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

本文标签: