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 82 e 84 (in 2 versioni)
Versione 82 del 04/10/2007 12.53.01
Dimensione: 6756
Commento: guida revisionata
Versione 84 del 06/10/2007 09.31.50
Dimensione: 990
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 8: Linea 8:
'''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 [:SSHHowto:ssh] può effettuare il backup anche di sistemi remoti. '''Autofs''' monta automaticamente directory condivise quando gli utenti o i processi richiedono accesso ad esse e le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di directory accessibili in rete via [:/Server/Nfs:Nfs] o [:/Server/Samba:Samba]. Il montaggio automatico di dispositivi removibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.
Linea 12: Linea 13:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Per installarlo è sufficiente [:InstallareProgrammi:installare] il pacchetto ''rsnapshot''. Il programma
Linea 16: Linea 17:
Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione].

||<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.'' ||

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 consevare 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 [:SSHHowto: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 con il seguente comando:
{{{
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:
{{{
#!/bin/bash

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 [:CronHowTo: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
}}}
Per configurare

BR

Introduzione

Autofs monta automaticamente directory condivise quando gli utenti o i processi richiedono accesso ad esse e le smonta automaticamente se restano inattive per un periodo di tempo specificato. Viene utilizzato principalmente per la condivisione di directory accessibili in rete via [:/Server/Nfs:Nfs] o [:/Server/Samba:Samba]. Il montaggio automatico di dispositivi removibili è infatti già fornito da [http://it.wikipedia.org/wiki/Hardware_abstraction_layer Hal] nel sistema base.

Installazione

Il programma

Configurazione

Per configurare

Ulteriori risorse


CategoryHomepage