SubVersion定期完整备份脚本(Linux)

脚本功能: 定期对一些项目进行完整备份.project.lst 文件格式如下:project1project2备份脚本如下:#!/bin/sh## subversion data backup script# by scud http://www.jscud.com# 2005-11-27## subversion完整备份的脚本,调整好后使用crontab -e 放到自动执行里面即可.##备份日志文件LogFile=/backup/svn/svnbak.logDATE=`date +%Y%m%d`#备份目录BakDir=/backup/svn/data#日常备份目录,如果有DailyDir=/backup/svn/daily#要备份的项目列表文件,只有项目名ProjectLst=/backup/svn/project.lst#所有项目都保存在这个目录下SvnDir=/var/svn#svnadmin程序的路径SVNADMIN=/app/subversion/bin/svnadminecho ” ” >> $LogFileecho ” ” >> $LogFileecho “——————————————-” >> $LogFileecho $(date +”%y-%m-%d %H:%M:%S”) >> $LogFileecho “————————–” >> $LogFilecd $BakDir#读取项目列表PROJECTLIST=`cat $ProjectLst`for project in $PROJECTLISTdoprojectdata=$SvnDir/$projectdestdir=$BakDir/$projectdumpfile=$DATE.$project.tgzif [ -f $BakDir/$dumpfile ]thenecho “backup file have exist!” >>$LogFileelse $SVNADMIN hotcopy $projectdata $destdir –clean-logstar czvf $dumpfile $destdir >/dev/nullrm -fr $projectecho “backup $project done into $dumpfile “>>$LogFilefi## delete old tgz 此处根据crontab的时间调整,例如一周一次备份,此处保留了5份备份,以前的删除oldfile=”$BakDir/”$(date +%y%m%d –date=’28 days ago’).$project.tgzif [ -f $oldfile ] then rm -f $oldfile >> $LogFile 2>&1 echo “[$oldfile]Delete Old File Success!” >> $LogFile else echo “[$oldfile]No Old Backup File!” >> $LogFile fidone#delete previous daily backup filescd $DailyDirrm -f *根据自己的设置配置好后,使用crontab 放到定时执行的任务里即可.

一个人最大的破产是绝望,最大的资产是希望。

SubVersion定期完整备份脚本(Linux)

相关文章:

你感兴趣的文章:

标签云: