Backup Subversion

Publicado por Augusto Hagiro Pascutti 19/09/2008

[ Hits: 10.637 ]

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

Automatizando a geração de relatórios do SARG

Script simples para ripar CDs de áudio em mp3 com uso do CDDB para nomear as faixas.

Xdialog - Cadastro de Usuários

Script de Inclusão (atualização) de Repositórios para Mandriva 2008.

Mini IDS


  

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