Backup Subversion

Publicado por Augusto Hagiro Pascutti 19/09/2008

[ Hits: 10.366 ]

Homepage: www.augustopascutti.com

Download svn_backup.sh




Script para fazer backup de múltiplos repositórios subversion em arquivos GZ separados .

  



Esconder código-fonte

#!/bin/bash
#
# #version 0.1
# @descr Script de backup dos repositorios subversion
# @author Augusto Pascutti <augusto.hp@gmail.com>

# -------------------------------------------------------
# Config
# -------------------------------------------------------
DIR_SVN=/usr/lib/svn/
DIR_TMP=/tmp/
LOG_FILE=/var/log/svn_backup.log

# -------------------------------------------------------
# functions
function e {
    echo $*;
    echo "$*" >> ${LOG_FILE};
}

# -------------------------------------------------------

if [ ! -d $DIR_SVN ]; then
    e "svn_backup: Diretorio svn invalido !";
fi;

if [ ! -d $DIR_TMP ]; then
    e "svn_backup: Diretorio temporario invalido !";
fi;

e `date`;
e "Iniciando backup dos repositorios ....";
REPOS="";
for repositorio in `ls "${DIR_SVN}"`; do
    TEST_PATH="${DIR_SVN}${repositorio}";
    echo -n "Verificando '${TEST_PATH}' ... ";
    if [ ! -d "${TEST_PATH}" ]; then echo " non-dir"; continue; fi;
    echo -n " verificando svn ... ";
    if [ ! -d "${TEST_PATH}/db" ]; then echo "non-svn"; continue; fi;
    echo "ok";
    REPOS="${REPOS} {$repositorio}";
    NAME_DUMP="${DIR_TMP}${repositorio}.svn.dump";
    NAME_FINAL="${DIR_TMP}${repositorio}.svn.dump.gz";
    echo -n "    Repo: ${repositorio} -> dump ";
    svnadmin dump -q "${TEST_PATH}" > "${DIR_TMP}${repositorio}.svn.dump" > /dev/null 2>> ${LOG_FILE};
    if [ ! $? -eq 0 ]; then echo "[error]"; continue; fi;
    echo -n "-> tarball ";
    tar -czf "${NAME_FINAL}" "${NAME_DUMP}" > /dev/null 2>> ${LOG_FILE};
    if [ ! $? -eq 0 ]; then echo "[error]"; continue; fi;
    echo -n "-> limpando";
    rm -f "${NAME_DUMP}" > /dev/null 2>> ${LOG_FILE};
    if [ ! $? -eq 0 ]; then echo "[error]"; continue; fi;
    echo "-> ok";
done;

Scripts recomendados

Atualização do md300-claro

Dia da semana

Testador de portas usando nmap

tela.sh

themepack2txz - Extrair arquivos themepack e criar um pacote TXZ com as imagens


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts