Oct 23, 2008

[Subversion] Subversion リポジトリの状態をメール通知する

私の環境で使用している Subversion リポジトリの状態をメールで通知するスクリプトを載せておく。 このスクリプトを cron で一週間に一回実行している。

#!/bin/sh

REPOS="/my/svn/repos"
LOCK="$REPOS/access.lock"
DATE=`date +"%Y/%m/%d %H:%M:%S"`
MAILSUBJECT="Today's SVN $REPOS ($DATE)"
MAILADDRESS="me@example.com"

touch $LOCK

SVNADMIN="/usr/bin/svnadmin"
SVNLOOK="/usr/bin/svnlook"
SVNADMIN_LSLOCKS=`$SVNADMIN lslocks $REPOS`
SVNADMIN_LSTXNS=`$SVNADMIN lstxns $REPOS`
SVNADMIN_VERIFY=`$SVNADMIN verify $REPOS 2>&1`
SVNLOOK_YOUNGEST=`$SVNLOOK youngest $REPOS`
REPOSSIZE=`du -s -k $REPOS | sed -e "s/[[:blank:]].*//"`
STORAGE=`df $REPOS`

mail -s "$MAILSUBJECT" "$MAILADDRESS" << EOF
*** Date ***********************************
$DATE

*** Path of Repository *********************
$REPOS

*** Size of Repository *********************
$REPOSSIZE kb

*** Storage ********************************
$STORAGE

*** Youngest revision **********************
$SVNLOOK_YOUNGEST

*** Locks **********************************
$SVNADMIN_LSLOCKS

*** Transactions ***************************
$SVNADMIN_LSTXNS

*** Verify *********************************
$SVNADMIN_VERIFY

EOF

rm $LOCK
スクリプトから届くメールはこんな感じ。
*** Date ***********************************
2008/10/23 00:00:00

*** Path of Repository *********************
/my/svn/repos

*** Size of Repository *********************
2837148 kb

*** Storage ********************************
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda1            12537386   6283742 126324102   3% /

*** Youngest revision **********************
3092

*** Locks **********************************


*** Transactions ***************************
2990-1
3024-1
3024-2

*** Verify *********************************
* Verified revision 0.
* Verified revision 1.
* Verified revision 2.

  (略)

* Verified revision 3090.
* Verified revision 3091.
* Verified revision 3092.

Posted in Subversion | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |