martedì 3 gennaio 2012

Backup incrementale con versioning su Linux

Uno dei problemi piu' comuni nel gestire un file server e' quello di realizzare un sistema affidabile di backup che sia incrementale e gestisca anche il versioning ovvero mantenga distinte le varie fasi di lavorazione di programma o file CAD che si voglia

la soluzione definitiva e' Rsnapshot

il programma si installa da
apt-get install rsnapshot

la configurazione si esegue da root editando il file /etc/rsnapshot.conf

modificando la voce snapshot_root si decide dove devono essere salvati i file di backup
al termine del file vengono configurate quali sono le directory da salvare riunendoli in gruppi
(nell'esempio localhost e' il gruppo)

La rotazione dei backup avviene semplicemente mediante crontab editando il file /etc/cron.d/rsnapshot


Una volta in esecuzione vengono generati i file con nomi che terminano con un numero; il numero 0 indica la versione piu' recente

Uno degli aspetti piu' fuorvianti e' che in tutte le directory ci sono gli stessi file e non e' immediato capire come viene gestito il versioning. Per risparmiare spazio disco i file che sono rimasti immutati dall'ultima esecuzione non vengono copiati ma viene creati un hard link visibile con il comando ls -l


Per eseguire un restore e' sufficiente copiare il file desiderato dal backup alla postazione originale. Da notare che il restore puo' essere eseguito solo da root in quando la directory di backup ha permessi 700