公司搭建了svn服务器,现在的需求是需要每天定时给上司发送svn日志邮件,所以就一步一步来配置。
第一步: 配置mail发送邮件
1、查看mail是否安装
2、配置mail,在/etc/mail.rc中添加:
复制内容到剪贴板 setfrom=账号smtp=smtp.exmail.qq.com setsmtp-auth-user=用户名 smtp-auth-password=密码smtp-auth=login
3、smtp配置设置,我这里采用了qq企业邮箱,就以这个为例。
4、测试mail是否能发送,echo 内容 | mail -s 标题 admin@jhonse.com
第二步: 获取svn版本日志
1、查看svn log 参数
2、查看当天的版本日志
复制内容到剪贴板 svnlog-r{DATE}-v svnlog-r{2015-11-25}:{2015-11-26}-v
3、SVN强制用户填写日志信息
在hook目录下添加pre-commit
复制内容到剪贴板 REPOS="$1" TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOKlog-t"$TXN""$REPOS"|grep"[a-zA-Z0-9]"|wc-c` if["$LOGMSG"-lt15]; then echo"Logmessagecan'tbeempty!youmustinputmorethan15charsascomment!."1>&2 exit1 fi
第三步: 设置定时任务
1、创建执行文件
复制内容到剪贴板 #!/bin/sh #sendsvnlogmail cd/*** /usr/bin/svnlog-r{$(date-dlast-day+%Y-%m-%d)}:{$(date+%Y-%m-%d)}-v|mail-ssvnLog_$(date+%Y-%m-%d)admin@jhonse.com
2、创建任务
复制内容到剪贴板 crontab-e 308***./usr/local/command/sendSvnLogMail.sh
3、查看任务
crontab -l