公司搭建了svn服務(wù)器,現(xiàn)在的需求是需要每天定時給上司發(fā)送svn日志郵件,所以就一步一步來配置。
第一步: 配置mail發(fā)送郵件
1、查看mail是否安裝
2、配置mail,在/etc/mail.rc中添加:
復(fù)制內(nèi)容到剪貼板
- set from=賬號 smtp=smtp.exmail.qq.com
-
- set smtp-auth-user=用戶名
-
- smtp-auth-password=密碼 smtp-auth=login
3、smtp配置設(shè)置,我這里采用了qq企業(yè)郵箱,就以這個為例。
4、測試mail是否能發(fā)送,echo 內(nèi)容 | mail -s 標題 admin@jhonse.com
第二步: 獲取svn版本日志
1、查看svn log 參數(shù)
2、查看當天的版本日志
復(fù)制內(nèi)容到剪貼板
- svn log -r {DATE} -v
-
- svn log -r {2015-11-25}:{2015-11-26} -v
3、SVN強制用戶填寫日志信息
在hook目錄下添加pre-commit
復(fù)制內(nèi)容到剪貼板
- 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
第三步: 設(shè)置定時任務(wù)
1、創(chuàng)建執(zhí)行文件
復(fù)制內(nèi)容到剪貼板
- #!/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
-
2、創(chuàng)建任務(wù)
復(fù)制內(nèi)容到剪貼板
- crontab -e
-
- 30 8 * * * . /usr/local/command/sendSvnLogMail.sh
3、查看任務(wù)
crontab -l
相關(guān)推薦:
CentOS 6.7系統(tǒng)中給IP配置的兩種教程
CentOS 7.1 中文正式版怎么樣?CentOS 7.1功能介紹及下載安裝