Dimensione: 6629
Commento:
|
Dimensione: 6694
Commento: sistemate alcune cose
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 84: | Linea 84: |
* backup giornaliero: {{{ | * '''backup giornaliero''': {{{ |
Linea 88: | Linea 88: |
per il backup settimanale: {{{ |
* '''backup settimanale''': {{{ |
Linea 94: | Linea 92: |
e per il mensile: {{{ |
* '''backup mensile''': {{{ |
Linea 100: | Linea 96: |
Passando il flag {{{-t}}} al comando è possibile testarne il funzionamento. Verranno semplicemente stampate a video tutte le azioni che '''rsnapshot''' eseguirà. | Aggiungendo l'opzione '''-t''' al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio: {{{ sudo rsnapshot -t daily }}} |
Linea 102: | Linea 101: |
Il risultato del precedente comando sarà simile al seguente: | |
Linea 103: | Linea 103: |
$ sudo rsnapshot -t daily |
|
Linea 129: | Linea 127: |
== Cron == | = Pianificazione dei backup con cron = |
IndiceBR TableOfContents(1) |
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 [:SSHHowto: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 [:InstallareProgrammi:installare] il pacchetto rsnapshot.
Configurazione
Per configurare rsnapshot è necessario aprire il file /etc/rsnapshot.conf con un [:EditorDiTesto:editor di testo] con i [: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 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:
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 dei backup con 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
[http://www.rsnapshot.org/ Sito ufficiale del progetto]
[http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html Rsnapshot HOWTO]