.: HosiriS :.

Informatica e non solo

Tips: automatizzare backup repository svn

Posted by hosiris su ottobre 17, 2011

Odio eseguire operazioni ripetitive a mano… nel 2011 non posso accettarlo e con un progetto come IHSys in via di sviluppo ogni “automatismo manuale” non può essere accettato😛
A parte il preambolo catastrofico, l’unico obiettivo di questo piccolo post è quello di mostrare un piccolo script che ci permetterebbe di automatizzare il processo di backup dei nostri repo.

Come prerequisito è richiesta la presenza di un server di backup con SSH attivo e autenticazione tramite chiave cifrata. Fatto questo, creiamo il seguente file sul server SVN:


#!/bin/bash
# Create repo hotcopy
repodir="/REPO-DIR/"${1}
bckdir="/BACKUP-DIR/"`date '+%Y%m%d'`-${1}
svnadmin hotcopy $repodir $bckdir
# Change dir owner
chown -R USER:GROUP $bckdir
# Create tar file from backup
tar cvzf $bckdir.tar.gz $bckdir
# Change tar owner
chown USER:GROUP $bckdir.tar.gz
# Remove tmp dir
rm -r $bckdir
# Move on SERVER
scp -vv $bckdir.tar.gz user@backup-server:/save-here/
rm $bckdir.tar.gz

Direi che è molto banale: ho già spiegato i vantaggi dell’eseguire una hotcopy a fronte di un dump, i passi successivi non fanno altro che creare un archivio ed infina inviarlo al server tramite ssh.

Per non cadere in errore, ho inteso che $repodir sia la cartella in cui sono contenuti tutti i Repository SVN e che quindi $1 sia l’effettivo Repository. Qualora abbiate troppi progetti nel repository, potreste eseguire ogni operazione dentro un ciclo for:

cd repodir
for dir in *; do if [ -d ${dir} ]; then ...tutti-i-comandi-di-sopra...; fi; done

Buon divertimento!

Una Risposta to “Tips: automatizzare backup repository svn”

  1. […] Tips: automatizzare backup repository svn ::: HosiriS […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: