Backup Subversion

Publicado por Augusto Hagiro Pascutti 19/09/2008

[ Hits: 10.350 ]

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

Script de monitoramento de host por icmp (ping )

Duelo das Cartas Mágicas

montar partiçao fat

modem.sh

Ubuntu Fácil


  

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