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 2 e 15 (in 13 versioni)
Versione 2 del 21/10/2007 19.25.54
Dimensione: 6784
Commento: corretti link
Versione 15 del 08/04/2020 11.27.18
Dimensione: 7440
Commento: Nascosto paragr. Automatizzare il backup
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from BackupDelSistema/Rsnapshot
Linea 3: Linea 4:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents(1)]]||
<<BR>>
<<Indice(depth=2)>>
Linea 6: Linea 7:
<<Informazioni(rilasci="16.04 18.04 20.04"; forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=120166")>>
Linea 8: Linea 10:
'''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. '''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 occupato nel disco. Se utilizzato in concomitanza con [[InternetRete/ConfigurazioneRete/OpenSsh|ssh]] può effettuare il backup anche di sistemi remoti.
Linea 12: Linea 14:
Il programma è presente nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Per installarlo è sufficiente [:InstallareProgrammi:installare] il pacchetto ''rsnapshot''. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://rsnapshot | rsnapshot]].
Linea 16: Linea 18:
Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con un [:EditorDiTesto:editor di testo] con i [:Sudo:privilegi di amministrazione]. Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]].
Linea 18: Linea 20:
||<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 e incolla delle seguenti istruzioni:
Linea 20: Linea 22:
La seguente direttiva specifica la cartella di destinazione del backup:
{{{
 * La seguente direttiva specifica la cartella di destinazione del backup:{{{
Linea 25: Linea 26:
Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:  * Supponendo di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:
Linea 27: Linea 28:
 * 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 31: Linea 32:
Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:
{{{
interval daily 7
interval weekly 4
interval monthly 6
 Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:{{{
retain daily 7
retain weekly 4
retain monthly 6
}}}
{{{#!wiki note
I nomi daily, weekly, monthly, ecc., indicano soltanto il nome delle cartelle di backup che rsnapshot crea quando viene eseguito con quel nome.<<BR>>
È possibile dargli qualsiasi nome alfanumerico (es.: alpha, beta, gamma).<<BR>>
La reale frequenza di esecuzione dei backup non si programma in `/etc/rsnapshot.conf` ma dipende da come viene pianificata l'esecuzione dell'utility rsnapshot, [[#pianificazione|per esempio con cron]].
Linea 38: Linea 43:
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:
{{{
 È importante che i backup siano specificati in ordine decrescente di frequenza di esecuzione prevista (ovvero va specificato per primo il backup che sarà eseguito più spesso).

 *
Occorre definire per quali cartelle effettuare il backup. Supponendo di voler conservare i file contenuti nelle cartelle `/home /etc` e `/usr/local` nella cartella `localhost`, aggiungere le seguenti istruzioni:{{{
Linea 45: Linea 51:
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:
{{{
 Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare il protocollo [[InternetRete/DesktopRemoto/OpenSsh|ssh]], come nel seguente esempio:{{{
Linea 50: Linea 55:
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 del manuale di '''rsync'''. Suppondendo di voler escludere tutti i file `.mp3` o il contenuto della cartella `.cache` dal backup è sufficiente aggiungere le seguenti direttive:{{{
Linea 53: Linea 57:
exclude .cache
Linea 55: Linea 60:
Infine, è possibile testare il file di configurazione con il seguente comando:
{{{
sudo rsnapshot configtest
 * Infine, è possibile testare il file di configurazione digitando il seguente comando in un [[http://en.wikipedia.org/wiki/Amministrazione/Terminale|terminale]]:{{{
rsnapshot configtest
Linea 60: Linea 64:
= Automatizzare il backup = ##= 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
Linea 62: Linea 72:
È possibile effettuare il backup di vari servizi mediante degli script controllati da '''rsnapshot'''. ##mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql
##}}}
##Dopo aver impostato il nome del database in «nomedatabase» 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/
##}}}
Linea 64: Linea 79:
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.
##'''rsnapshot''' lancerà lo script e sposterà nella cartella `localhost/mysql` tutti i file di output prodotti nella cartella corrente.
Linea 80: Linea 83:
'''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 «''retain''» sopra descritte.
Linea 82: Linea 85:
Per avviare il tipo di backup desiderato digitare il relativo comando in una finestra di terminale: Per avviare il tipo di backup desiderato digitare il relativo comando in [[AmministrazioneSistema/Terminale|terminale]]:
Linea 96: Linea 99:
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 101: Linea 103:
Il risultato del precedente comando sarà simile al seguente:
{{{
Il risultato del precedente comando sarà simile al seguente:{{{
Linea 127: Linea 128:
<<Anchor(pianificazione)>>
Linea 129: Linea 131:
Affinchè '''rsnaphost''' venga eseguito ad intervalli regolari, occorre configurare opportunamente [:AmministrazioneSistema/Cron:cron]. Affinchè '''rsnaphost''' venga eseguito ad intervalli regolari, occorre configurare opportunamente [[AmministrazioneSistema/Cron|cron]].
Linea 131: Linea 133:
Quella che segue è un esempio di configurazione: Quello che segue è un esempio di configurazione:
Linea 136: Linea 138:
Quella che segue è la pianificazione adatta al precedente esempio:
{{{
Quella che segue è la pianificazione adatta al precedente esempio:{{{
Linea 146: Linea 147:
 * [http://www.rsnapshot.org/ Sito ufficiale del progetto]
 * [http://www.rsnapshot.org/howto/1.2/rsnapshot-HOWTO.en.html Rsnapshot HOWTO]
 * [[http://rsnapshot.org/rsnapshot/docs/docbook/rest.html|Tutorial ufficiale]]
Linea 150: Linea 150:
CategoryAmministrazione  CategoryAmministrazione


Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

rsnapshot è una applicazione in grado di effettuare il backup differenziale di porzioni di file system. Sfruttando rsync e gli 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 occupato nel disco. Se utilizzato in concomitanza con ssh può effettuare il backup anche di sistemi remoti.

Installazione

Installare il pacchetto rsnapshot.

Configurazione

Per configurare rsnapshot è necessario aprire il file /etc/rsnapshot.conf con un editor di testo con i 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 e incolla delle seguenti istruzioni:

  • La seguente direttiva specifica la cartella di destinazione del backup:

    rsnapshot_root  /var/cache/rsnapshot/
  • Supponendo 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:

    retain   daily    7
    retain   weekly   4
    retain   monthly  6

I nomi daily, weekly, monthly, ecc., indicano soltanto il nome delle cartelle di backup che rsnapshot crea quando viene eseguito con quel nome.
È possibile dargli qualsiasi nome alfanumerico (es.: alpha, beta, gamma).
La reale frequenza di esecuzione dei backup non si programma in /etc/rsnapshot.conf ma dipende da come viene pianificata l'esecuzione dell'utility rsnapshot, per esempio con cron.

  • È importante che i backup siano specificati in ordine decrescente di frequenza di esecuzione prevista (ovvero va specificato per primo il backup che sarà eseguito più spesso).
  • Occorre definire per quali cartelle effettuare 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 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 pattern matching, così come specificato nella pagina del manuale di rsync. Suppondendo di voler escludere tutti i file .mp3 o il contenuto della cartella .cache dal backup è sufficiente aggiungere le seguenti direttive:

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

    rsnapshot configtest

Avvio del programma

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

Per avviare il tipo di backup desiderato digitare il relativo comando in 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 cron.

Quello 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