Backup con rsnapshot

Attenzione! Questa pagina contiene materiale obsoleto Attenzione!

In fase di sviluppo Leggere le avvertenze In fase di sviluppo

In questa pagina viene mostrato come effettuare un backup giornaliero (o anche più frequente...) di una macchina remota senza occupare quantità enormi di spazio disco e permettendo il recupero immediato di qualunque file nella versione di un giorno specifico. Lo scopo tipico è il salvataggio temporaneo centralizzato dei file utenti di uno o più server.

Prerequisiti

Server

Occorre disporre di due server, possibilmente posti in luoghi fisicamente separati (anche su internet, se disponete di una connessione robusta e flat). Nel caso mostrato come esempio i due server sono:

Utenti

Su rumba deve esistere un utente con i permessi di accesso in sola lettura a tutti i file e le cartelle che devono essere salvati, per esempio impostati tramite ACL. E' bene che non sia root e che che abbia la password disattivata. Nell'esempio sarà backup.

L'utente di gargantua incaricato di effettuare il backup (per esempio: root) deve poter accedere via ssh, con le credenziali di backup, a rumba usando un certificato digitale. Qui una mini-spiegazione di come fare.

Software da installare

Solo su gargantua:

root@gargantua:~# aptitude install rsnapshot

Su rumba:

root@rumba:/var/backups# aptitude install rsync

(ovviamente serve anche ssh-server su rumba e ssh-client su gargantua, ma dovrebbero essere presenti di default...)

Configurazione

Il file di configurazione /etc/rsnapshot.conf è già presente, va solo personalizzato, in modo piuttosto intuitivo. Come al solito, prima meglio fare una copia.

Le righe da modificare sono quelle che contengono la cartella in cui salvare il backup e l'elenco delle cartelle (e relativi server) da salvare. Per esempio (non sono riportate altre righe non modificate):

snapshot_root /rsnapshot/

backup /home/ localhost/
backup /etc/ localhost/
backup backup@rumba.intranet:/home/ rumba/
backup backup@rumba.intranet:/etc/ rumba/

Le prime due righe salvano i file locali di gargatua (sono predefinite, se non serve possono essere tolte), le altre due salvano le cartelle di rumba; ovviamente è possibile aggiungere altri server/cartelle. Attenzione: tra le varie parole non vi sono spazi, ma un TAB.

Occorre inoltre abilitare l'uso di connessioni criptate, soprattutto se si usa internet. Per fare ciò occorre togliere il commento alla riga:

cmd_ssh /usr/bin/ssh

Infine occorre specificare quante versioni mantenere disponibili. In genere faccio riferimento all'anno solare, mantenendo 365 immagini giornaliere (il nome ed il numero sono assolutamente convenzionali), forse è un po' esagerato... Per fare ciò occorre aggiungere subito dopo le altre simili la seguente riga.

retain anno 365

Per un test:

root@gargantua:~# /usr/bin/rsnapshot -c /etc/rsnapshot.conf anno

I file vengono memorizzati nella cartella scelta, aggiungendo un numero progressivo, da 0 (snapshop più recente) al numero specificato nel file di configurazione (per esempio 365)

Quando tutto funziona, occorre far eseguire il backup giornalmente (o quando più vi aggrada). E' possibile per esempio usare le apposite cartelle in /etc/cron.d/ oppure inserire in /etc/crontab una riga simile alla seguente:

00 5 * * * root /usr/bin/rsnapshot -c /etc/rsnapshot.conf anno

Avvertenza 1

Questa procedura non sostituisce il classico backup, per esempio usando un grosso file compresso: se infatti il server di backup subisce un danno fisico grave, i dati in esso memorizzati vanno persi. Per danno grave non intendo ovviamente la semplice rottura di un disco e del processore, guasti frequenti e facilmente riparabili in poco tempo. Il caso tipico è uno scenario da disaster recovery (incendio, furto, compromissione della macchina, cancellazione più o meno intenzionale da parte di root...).

Avvertenza 2

Visto che il backup è integrale, è necessario adottare un politica di privacy adeguata ed un'adeguata formazione degli utenti sui rischi di memorizzazione di file personali.

In particolare alcuni file non devono essere archiviati con questa o analoghe procedura. Il riferimento è per esempio alle chiavi private, al file /etc/shadow ed in genere tutti i file del server che hanno permessi rw-------

Avvertenza 3

Il rsyn cerca di risparmiare spazio usano hard link. Il meccanismo funziona bene ma occorre tener presente che lo spazio necessario non sempre è trascurabile. A titolo di esempio, lo spazio occupato potrebbe essere il seguente (qualche centinaio di utenti con quota minima di 100 MB attivi giornalmente):

root@gargantua:/rsnapshot# du * -hs
21G anno.0
753M anno.1
571M anno.2
744M anno.3
563M anno.4
394M anno.5
[ecc...]

Parole chiave: Debian wheezy – backup


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima