Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/BackupDelSistema/Rsnapshot"
Differenze tra le versioni 10 e 11
Versione 10 del 15/12/2010 15.05.45
Dimensione: 6941
Commento:
Versione 11 del 18/12/2010 11.44.37
Dimensione: 6802
Commento: ok
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 21: Linea 21:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere'' «'''Tab'''» ''e non dovrà contenere spazi. Non è quindi consigliabile fare il copia ed incolla delle seguenti istruzioni.'' || Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere '''Tab''' e non dovrà contenere spazi. Non è quindi consigliabile fare il copia ed incolla delle seguenti istruzioni:
Linea 23: Linea 23:
La seguente direttiva specifica la cartella di destinazione del backup:
{{{
 * La seguente direttiva specifica la cartella di destinazione del backup:{{{
Linea 28: Linea 27:
Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:  * Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:
Linea 30: Linea 29:
 * backup giornaliero dei 7 giorni precedenti;
 * backup settimanale delle 4 settimane precedenti;
 * backup mensile dei 6 mesi precedenti.
  * backup giornaliero dei 7 giorni precedenti;
  * backup settimanale delle 4 settimane precedenti;
  * backup mensile dei 6 mesi precedenti.
Linea 34: Linea 33:
Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:
{{{
 Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:{{{
Linea 41: Linea 39:
Occorre definire le cartelle delle quali fare il backup. Supponendo di voler conservare i file contenuti nelle cartelle `/home /etc` e `/usr/local`, nella cartella `localhost`, aggiungere le seguenti istruzioni:
{{{
 * Occorre definire le cartelle delle quali fare il backup. Supponendo di voler conservare i file contenuti nelle cartelle `/home /etc` e `/usr/local`, nella cartella `localhost`, aggiungere le seguenti istruzioni:{{{
Linea 48: Linea 45:
Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare il protocollo [:InternetRete/ConfigurazioneRete/OpenSsh:ssh], come nel seguente esempio:
{{{
 Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare il protocollo [:InternetRete/ConfigurazioneRete/OpenSsh:ssh], come nel seguente esempio:{{{
Linea 53: Linea 49:
Inoltre è possibile aggiungere direttive per l'inclusione e l'esclusione di file mediante il [http://en.wikipedia.org/wiki/Pattern_matching pattern matching] così come specificato nella pagina di manuale di '''rsync'''. Suppondendo di voler escludere tutti i file `.mp3` dal backup è sufficiente aggiungere la seguente direttiva:  {{{  * Inoltre è possibile aggiungere direttive per l'inclusione e l'esclusione di file mediante il [http://en.wikipedia.org/wiki/Pattern_matching pattern matching] così come specificato nella pagina di manuale di '''rsync'''. Suppondendo di voler escludere tutti i file `.mp3` dal backup è sufficiente aggiungere la seguente direttiva:{{{
Linea 58: Linea 53:
Infine, è possibile testare il file di configurazione con il seguente comando:
{{{
 * Infine, è possibile testare il file di configurazione digitando il seguente comando in una finestra di terminale:{{{
Linea 83: Linea 77:
'''rsnapshot''' deve essere avviato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive {{{interval}}} sopra descritte. '''rsnapshot''' deve essere avviato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive «interval» sopra descritte.
Linea 99: Linea 93:
Aggiungendo l'opzione '''-t''' al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio:
{{{
Aggiungendo l'opzione '''-t''' al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio:{{{
Linea 104: Linea 97:
Il risultato del precedente comando sarà simile al seguente:
{{{
Il risultato del precedente comando sarà simile al seguente:{{{
Linea 139: Linea 131:
Quella che segue è la pianificazione adatta al precedente esempio:
{{{
Quella che segue è la pianificazione adatta al precedente esempio:{{{

BR Indice(depth=2)

Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,59072.0.html")

Introduzione

rsnapshot è una applicazione in grado di effettuare il backup differenziale di porzioni di file system. 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. Se utilizzato in concomitanza con [:InternetRete/ConfigurazioneRete/OpenSsh:ssh] può effettuare il backup anche di sistemi remoti.

Installazione

Il programma è presente nel [:Repository/Componenti:componente] universe dei [:Repository:repository] ufficiali. Per installarlo è sufficiente [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto [apt://rsnapshot rsnapshot].

Configurazione

Per configurare rsnapshot è necessario aprire il file /etc/rsnapshot.conf con un [:Ufficio/EditorDiTesto:editor di testo] con i [:AmministrazioneSistema/Sudo:privilegi di amministrazione].

Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere Tab e non dovrà contenere spazi. Non è quindi consigliabile fare il copia ed incolla delle seguenti istruzioni:

  • 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 specifiche per una tale pianificazione sono le seguenti:

    interval   daily    7
    interval   weekly   4
    interval   monthly  6
  • Occorre definire le cartelle delle quali fare il backup. Supponendo di voler conservare i file contenuti nelle cartelle /home /etc e /usr/local, nella cartella localhost, aggiungere le seguenti istruzioni:

    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 il protocollo [:InternetRete/ConfigurazioneRete/OpenSsh:ssh], come nel seguente esempio:

    backup   root@example.com:/home/   example.com/
  • Inoltre è possibile aggiungere direttive per l'inclusione e l'esclusione di file mediante il [http://en.wikipedia.org/wiki/Pattern_matching pattern matching] così come specificato nella pagina di manuale di rsync. Suppondendo di voler escludere tutti i file .mp3 dal backup è sufficiente aggiungere la seguente direttiva:

    exclude *.mp3
  • Infine, è possibile testare il file di configurazione digitando il seguente comando in una finestra di terminale:

    sudo rsnapshot configtest

Automatizzare il backup

È possibile effettuare il backup di vari servizi mediante degli script controllati da rsnapshot.

Supponendo di voler effetttuare il backup di un database [:Server/MySql:MySql], si realizzi uno script, da inserire in un nuovo file (es. /root/scripts/backupmysql.sh), simile al seguente:

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

Dopo aver impostato il nome del database in «nomedatabse» e dopo aver impostato le opzioni «user» e «password» con il nome utente desiderato e la relativa password, è possibile richiamare lo script a partire dal file di configurazione sopra citato con un'istruzione simile alla seguente:

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

rsnapshot lancerà lo script e sposterà nella cartella localhost/mysql tutti i file di output prodotti nella cartella corrente.

Avvio del programma

rsnapshot deve essere avviato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive «interval» sopra descritte.

Per avviare il tipo di backup desiderato digitare il relativo comando in una finestra di terminale:

  • backup giornaliero:

    sudo rsnapshot daily
  • backup settimanale:

    sudo rsnapshot weekly
  • backup mensile:

    sudo rsnapshot monthly

Aggiungendo l'opzione -t al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio:

sudo rsnapshot -t daily

Il risultato del precedente comando sarà simile al seguente:

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/

Pianificazione delle operazioni con cron

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

Quella che segue è un esempio di configurazione:

  • backup giornaliero alle ore 00:00;

  • backup settimanale la domenica alle ore 6:00;

  • backup mensile ogni primo del mese alle 12:00.

Quella che segue è la pianificazione adatta al precedente esempio:

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


CategoryAmministrazione