Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AlbericoAnobile/Prove0"
Differenze tra le versioni 70 e 71
Versione 70 del 29/09/2007 13.55.27
Dimensione: 6323
Commento:
Versione 71 del 29/09/2007 13.57.25
Dimensione: 6325
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 40: Linea 40:
Occorre definire di quali cartelle fare il backup mediante i ''backup points''. Supponendo di voler consevare i file contenuti nelle cartelle {{{/home /etc}}} e {{{/usr/local}}} in una cartella dal nome {{{localhost}}} aggiungere: Occorre definire di quali cartelle fare il backup mediante i ''backup points''. Supponendo di voler consevare i file contenuti nelle cartelle {{{/home /etc}}} e {{{/usr/local}}}, in una cartella dal nome {{{localhost}}}, aggiungere:

BR

Introduzione

Rsnapshot è una applicazione in grado di effettuare il backup differenziale di porzioni di file system.BR Sfruttando [http://samba.anu.edu.au/rsync/ rsync] e gli [http://openskills.info/infobox.php?ID=60 hard link], è in grado di conservare diverse copie di backup, realizzate in diversi istanti di tempo, minimizzando la quantità di dati trasferiti e lo spazio disco occupato. BRSe utilizzato in concomitanza con [:SSHHowto:ssh] può effettuare il backup anche di sistemi remoti.

Installazione

Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali.

Configurazione

Per la configurazione è necessario modificare con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione] il file di configurazione /etc/rsnapshot.conf come nel seguito.

Immagine(Icone/Piccole/note.png,,center)

Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere tab e senza spazi. Non è quindi consigliabile fare il copia ed incolla degli elementi di questa guida

La seguente direttiva specifica la cartella di destinazione del backup

rsnapshot_root  /var/cache/rsnapshot/

Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:

  • backup giornaliero dei 7 giorni precedenti
  • backup settimanale delle 4 settimane precedenti
  • backup mensile dei 6 mesi precedenti

Le direttive di configurazione saranno allora:

interval   daily    7
interval   weekly   4
interval   monthly  6

Occorre definire di quali cartelle fare il backup mediante i backup points. Supponendo di voler consevare i file contenuti nelle cartelle /home /etc e /usr/local, in una cartella dal nome localhost, aggiungere:

backup   /home/      localhost/
backup   /etc/    localhost/
backup   /usr/local/ localhost/

Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare [:SSHHowto:ssh]:

backup   root@example.com:/home/   example.com/

E' inoltre possibile aggiungere direttive di inclusione ed esclusione di file mediante pattern matching così come specificato nella pagina di manuale di rsync. Suppondendo di voler escludere tutti i file mp3 dal backup è sufficiente aggiungere la direttiva:

exclude *.mp3

Backup Script

E' possibile effettuare il backup di vari servizi, mediante alcuni script controllati da rsnapshot. BR Supponendo di voler effetttuare il backup di un database mysql, si realizzi uno script, da inserire in un nuovo file (es. /root/scripts/backupmysql.sh, del seguente tipo:

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql

Dopo aver personalizzato il nome del database, il nome utente e la relativa password è possibile richiamare lo script a partire dal file di configurazione sopra citato

backup_script  /root/scripts/backupmysql.sh localhost/mysql/

Rsnapshot lancerà lo script e sposterà nella cartelle localhost/mysql tutti i file di output prodotti nella directory corrente

Testare il file di configurazione

La sintassi del file di configurazione può essere controllata con il comando:

sudo rsnapshot configtest

Eseguire rsnapshot

Rsnapshot deve essere lanciato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive interval specificate in precedenza.

Per lanciare il backup giornaliero occorre quindi digitare il comando:

sudo rsnapshot daily

per il backup settimanale:

sudo rsnapshot weekly

e per il mensile:

sudo rsnapshot monthly

Passando il flag -t al comando è possibile testarne il funzionamento. Verranno semplicemente stampate a video tutte le azioni che rsnapshot eseguirà.

$ sudo rsnapshot -t daily

echo 29059 > /var/run/rsnapshot.pid
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /home /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /etc /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 /usr/local /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
    --exclude=*.mp3 --rsh=/usr/bin/ssh root@example.com:/home \
    /var/cache/rsnapshot/daily.0/example.com
mkdir -m 0755 -p /var/cache/rsnapshot/daily.0/localhost/
mkdir -m 0755 -p /var/cache/rsnapshot/tmp/
cd /var/cache/rsnapshot/tmp/
/root/scripts/backupmysql.sh
cd /home/albe/
sync_if_different("/var/cache/rsnapshot/tmp/", \
    "/var/cache/rsnapshot/daily.0/localhost/mysql/")
touch /var/cache/rsnapshot/daily.0/

Cron

Affinchè rsnaphost venga eseguito ad intervalli regolari, occorre configurare opportunamente [:CronHowTo:Cron].

Una configurazione di esempio che

  • lanci il backup giornaliero alle 00:00
  • lanci il backup settimanale la domenica alle 6:00
  • lanci il backup mensile ogni primo del mese alle 12:00

potrebbe essere la seguente:

m h dom mon dow user    command
0 0  *   *   *  root    /usr/bin/rsnapshot daily
0 6  *   *   0  root    /usr/bin/rsnapshot weekly
0 12 1   *   *  root    /usr/bin/rsnapshot monthly

Ulteriori risorse


CategoryHomepage