如何为SVN转储创建一个Bash脚本

时间:2014-02-20 14:21:15

标签: svn dump

我通常在/var/svn/repos/**foldersX**有SVN存储库,我在repos文件夹中有很多svn文件夹,我将使用svnadmin create foldername创建 每次我想要转储SVN时,我都会执行以下命令:

cd /var/svn/repos
svnadmin dump abcd | gzip -9 > /var/www/html/svn/bck_20_Feb_2014/abcd.dump.gz
svnadmin dump efgh | gzip -9 > /var/www/html/svn/bck_20_Feb_2014/efgh.dump.gz

直到文件末尾/var/svn/repos

有没有办法制作脚本来转储所有文件并将其保存在/var/www/html/svn/ /var/svn/repos文件夹的源代码中?

1 个答案:

答案 0 :(得分:0)

这是一个脚本,用于将/ var / svn / repos下的每个存储库备份到今天日期在/ var / www / html / svn下的目录。将此脚本放在文本文件中,使其可执行,并添加一个cron作业以每天/每周/每次运行脚本。

#!/bin/bash

DATE=`date +"%d_%b_%Y"`
BACKUP_DIR=/var/www/html/svn/bck_${DATE}

mkdir -p $BACKUP_DIR

pushd /var/svn/repos    

for d in /var/svn/repos/*
do
  if [ -d "$d" ]
  then
    svnadmin dump $d | gzip -9 > "${BACKUP_DIR}/${d}.dump.gz"
  fi
done

popd

我没有测试过,但这应该做你想要的。