Se utilizziamo SubVersion come sistema di controllo versione per i nostri sorgenti non c’è nulla di più comodo di una procedura automatizzata richiamabile con un click che esegua il backup di tutto il Repository, lo comprima e lo cataloghi secondo lo nostre esigenze.
Vediamo come creare in pochi secondi un file Batch che faccia tutto questo:
Apriamo il Blocco Notes e inseriamo le seguenti righe (sostituendo i percorsi con quelli del proprio computer), salviamo infine il file con l’estensione .bat
@echo off |
echo Creazione copia di backup del Repository... |
svnadmin hotcopy "X:/Repository" "C:/Users/UserName/Documenti/BackupSVN" --clean-logs |
echo Compressione backup... |
"C:\Program Files\WinRAR\WinRAR.exe" A -t -m5 -r -ag -rr5p -ep1 "C:/Users/UserName/Documenti/BackupSVNcompresso" "C:/Users/UserName/Documenti/BackupSVN/" |
echo Eliminazione directory temporanea... |
rmdir /s /q "C:/Users/UserName/Documenti/BackupSVN" |
echo Backup avvenuto con successo |
pause |
Analizziamo il nostro file Batch:
Prima di tutto disabilitiamo la sintassi dei comandi in modo da visualizzare solo l’ouput effettivo del nostro batch (comando @echo off) e stampiamo a video l’avanzamento del processo con echo stringa da visualizzare
Creiamo una copia temporanea del Repository tramite svnadmin e l’opzione hotcopy (per chi non lo avesse installato nel proprio sistema può scaricarlo da SlikSvn).
UPDATE: Aggiungendo " --clean-logs" eviteremo di inserire i log ridondanti, salvando così spazio. L'uso di hotcopy rispetto alla semplice copia della cartella garantisce che eventuali processi in esecuzione non corrompano il backup accedendo al repository.
Comprimiamo la cartella, assegnando al file compresso un nome incrementale (es. BackupSVNcompressoAAAAMMGGOOMMSS).
Per la compressione sfruttiamo le funzionalità a linea di comando di WinRar, i parametri passati permettono di:
- aggiungere file ad un archivio (opzione A)
- verificare i file appena archiviati (-t)
- personalizzare il livello di compressione (-m5 = massimo)
- includere ricorsivamente le sottocartelle (-r)
- aggiungere al nome dell’archivio una sequenza legata alla data corrente (-ag)
- aggiungere le informazioni utili (5%) per un recupero a seguito di danneggiamento dell'archivio (-rr5p)
- non archiviare il percorso inserito nella linea di comando (-ep1)
I parametri passabili a WinRar sono veramente tanti, per una lista completa consultare la Guida installata col programma.
ATTENZIONE: Su sistemi operativi in lingua diversa dall'inglese potrebbe essere necessario sostituire "Program Files" con la cartella dei programmi del proprio sistema (es. "Programmi" per il sistema operativo Windows XP in italiano) o comunque indicare dove risiede l'eseguibile WinRAR.exe.
Per finire eliminiamo la cartella creata in precedenza (di cui abbiamo creato una copia in formato compresso) e lanciamo il comando pause, permetterà di vedere l’output del file batch anche dopo l’esecuzione. Basterà poi premere un tasto per chiudere la finestra.
Backup eseguito!
Scarica il file batch