isi-backup

Intro

La script permette di effettuare due tipi di backup:

  • local2local
  • local2remote

local2local

archivia il contenuto di una data directory (L_PATH) in un’altra dello stesso sistema (R_PATH). La directory destinazione può essere il mount point di un hardisk esterno, di un filesystem nfs remoto od una qualunque altra directory del sistema locale.

local2remote

archivia il contenuto di una data directory (L_PATH) in una directory remota di un’altro sistema (R_PATH). La directory remota può ovviamente essere il punto di mount di un qualunque filesystem supportato dal sistema.

Requisiti

La script di backup richiede che il pacchetto rdiff-backup sia installato sul sistema. Qualora si stesse usando la modalità local2remote, rdiff-backup andrà installato su entrambi i sistemi.

Per installare il pacchetto

apt-get install rdiff-backup

Nota

E` consigliabile che sistema locale e sistema remoto utilizzino la stessa versione di rdiff-backup.

Configurazione

Per configurare la script si dovrà modificare il file /etc/backup/backup.conf.

Configurazione in modalità local2local

Esempio

BKP_METHOD="local2local"
L_PATH='/home'
R_PATH='/mnt/disco_backup/backup'

Configurazione in modalità local2remote

Esempio

BKP_METHOD="local2remote"
L_PATH='/home'
R_PATH='/backup/backup-server'
R_USER='root'
R_HOST='192.168.96.2'

Nota

R_PATH non puo’ puntare direttamente ad un link simbolico ma solo attraversarne uno puntando ad una directory. Se avessimo quindi R_PATH valorizzata R_PATH='/backup/backup-server', /backup potrebbe essere un collegamento simbolico.

Si è deciso di adottare una nuova convenzione: sulla macchina destinataria del backup si dovrà sempre creare un collegamento simbolico /backup che punti al path-destinazione del backup.

Esclusione di alcune directory dal backup

E` possibile escludere alcune directory dal backup accodandone il path completo al file /etc/backup/exclude.

Per escludere, ad esempio, la directory /home/.vmware dal backup di /home basterà aggiungere il seguente contenuto

- /home/.vmware

Schedulare l’esecuzione del backup

Per far eseguire automaticamente da crontab la script di backup basterà lanciare

crontab -e

ed inserire una riga come la seguente

20 23 * * * /usr/local/sbin/backup >/dev/null

Oppure, in caso si preferisse usare il nuovo file /etc/cron.d/isi, basterà accodarvi la stringa

20 23 * * * /usr/local/sbin/backup >/dev/null

e riavviare il crond

/etc/init.d/cron restart

Nota

20 23 * * * /usr/local/sbin/backup >/dev/null

La script verrà lanciata tutti i giorni alle 23.20

Recuperare file e cartelle da un backup

Seguono alcuni esempi pratici di ripristino

Recuperare dal server remoto 192.168.96.2 il contenuto che la directory /home/shares/classi/1a aveva 10 giorni fa

rdiff-backup -r 10D 192.168.96.2::/home/backup-server/classi/1a /tmp/1a

In``/tmp/1a`` si potrà trovare il contenuto che 1a aveva 10 giorni fa.

Oppure in caso non si stessero facendo i backup su di un server remoto

rdiff-backup -r 10D /mnt/disco_backup/backup/classi/1a /tmp/1a

<Approfondimenti> http://rdiff-backup.nongnu.org/examples.html#restore

Cancellare backup piu’ vecchi di n giorni

Cancellare tutte le informazioni sui file più vecchi di due settimane

rdiff-backup --remove-older-than 2W 192.168.96.2::/home/backup-server/classi/1a

<Approfondimenti> http://rdiff-backup.nongnu.org/examples.html#delete_older