天天看點

linux svn 備份腳本,Linux SVN伺服器做定時全量備份腳本

Linux SVN伺服器做定時全量備份腳本:

進入目錄:cd /root/svn/

建立sh檔案:week_backed_up.sh

檔案内容:

#!/bin/bash

#function:SVN全量備份

#Author: wangmuming

svn_repos="/data/svndata/companyname" #版本庫目錄

backup_dir="/usr/svn/backup" #備份目錄

next_backup_file="week_incremental_backup".`date +%Y%m%d`

log="$backup_dir/week_backed_up.log" #日志檔案

echo "********************"`date`"***************">> $log

echo "SVN ALL DUMP start!">> $log

last_rev="`/usr/local/subversion/bin/svnlook youngest $svn_repos`" #最新版本

if [ -f $next_backup_file ];then

echo "No new revisions to backup."

exit 0

else

/usr/local/subversion/bin/svnadmin dump --incremental --revision 0:$last_rev $svn_repos > $backup_dir/$next_backup_file #0版本,到最新版本的全量備份

fi

echo "Last:$last_rev">> $log #記錄版本庫最新版本

#删除30天之前的備份資料

find $backup_dir -type f -mtime +30 -exec rm -rf {} \; | tee -a $log

echo "********************"`date`"***************">>$log

建立定時任務:crontab -e

10 2 * * 0 /bin/sh /root/svn/week_backed_up.sh

啟動定時任務:service crond start

此腳本可以手動調用;

/usr/svn/backup 目錄:

-rw-r--r-- 1 root root 2198 Jul 7 09:38 week_backed_up.log

-rw-r--r-- 1 root root 4471965478 Jul 7 09:36 week_incremental_backup.20150707

至此,svn定時全量備份完成。