2014-02-20 3 views
0

У меня есть SVN репозитории обычно в /var/svn/repos/**foldersX**, там я имел много папок SVN-х в repos папке, которую я буду создавать с помощью svnadmin create foldername Каждый раз, когда я хочу взять дамп SVN я эти команды:Как сделать Bashscript для 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 папки?

ответ

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 

Я не тестировал его, но это должно делать то, что вы хотите.

Смежные вопросы