此脚本用于在SVN 服务器上,用户通过SVN 客户端提交后,服务端利用hooks脚本自动更新检出数据的备份!
#!/bin/bash
#Author :elain #Ctime :20110805 Bak_Dir=/data/svnbak Svn_Dir=/data/svndata Svn_data=/data/svnbak/svndata_`date +%Y%m%d`.tar.gz MailList=elain2012@hotmail.com
Info : 每周备份一次svn数据
/bin/tar zcf $Svn_data /data/svndata
Info : 邮件正文
echo -e "==========`date +%Y年%m月%d日` SVN 备份数据==========" >$LogFile echo -e "SVN备份文件:\nsvndata_`date +%Y%m%d`.tar.gz \n大小:`du -sh $Svn_data |awk '{print $1}'`" >>$LogFile echo -e "==============by:elain www.elain.org=================\n详情参见附件!" >>$LogFile
Info : 发送邮件
/usr/bin/sendEmail -f admin@elain.org -t $MailList -s mail.elain.org -xu 'admin@elain.org' -xp 'elain123we' -u "`date +%Y年%m月%d日` SVN备份数据" -m "`cat $LogFile`" -a $Svn_data
Info : 删除七天前的备份
find $Bak_Dir -mtime +7 | xargs rm -rf
添加定时任务
Info : 每周六备份SVN数据
# Author : elain
# Ctime : 2011.08.05
00 2 * * 6 /bin/sh /root/scripts/bak_svn.sh
脚本见附件