CentOS?

Tags: 郵件, 日誌,

公司搭建了svn服務器,現在的需求是需要每天定時給上司發送svn日誌郵件,所以就一步一步來配置。

工具/原料

CentOS 7.0

mail

第一步: 配置mail發送郵件

查看mail是否安裝

CentOS 7.0 配置mail定時發送svn日誌郵件

配置mail

在/etc/mail.rc中添加:

set from=賬號 smtp=smtp.exmail.qq.com

set smtp-auth-user=用戶名 smtp-auth-password=密碼 smtp-auth=login

CentOS 7.0 配置mail定時發送svn日誌郵件

smtp配置設置

我這裡採用了qq企業郵箱,就以這個為例。

CentOS 7.0 配置mail定時發送svn日誌郵件

測試mail是否能發送

echo 內容 mail -s 標題 [email protected]

CentOS 7.0 配置mail定時發送svn日誌郵件

CentOS 7.0 配置mail定時發送svn日誌郵件

第二步: 獲取svn版本日誌

查看svn log 參數

CentOS 7.0 配置mail定時發送svn日誌郵件

查看當天的版本日誌

svn log -r {DATE} -v

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

CentOS 7.0 配置mail定時發送svn日誌郵件

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

CentOS 7.0 配置mail定時發送svn日誌郵件

CentOS 7.0 配置mail定時發送svn日誌郵件

第三步: 設置定時任務

創建執行文件

#!/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) [email protected]

CentOS 7.0 配置mail定時發送svn日誌郵件

創建任務

crontab -e

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

CentOS 7.0 配置mail定時發送svn日誌郵件

查看任務

crontab -l

CentOS 7.0 配置mail定時發送svn日誌郵件

相關問題答案