|
Dimensione: 7462
Commento: +DaRevisionare
|
← Versione 18 del 21/11/2025 18.13.20 ⇥
Dimensione: 11188
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 6: | Linea 6: |
| <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=120166"; rilasci="24.04 22.04 20.04 18.04 16.04")>> | |
| Linea 7: | Linea 8: |
| <<Informazioni(rilasci="16.04 18.04 20.04"; forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=120166")>> | |
| Linea 10: | 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 occupato nel disco. Se utilizzato in concomitanza con [[InternetRete/ConfigurazioneRete/OpenSsh|ssh]] può effettuare il backup anche di sistemi remoti. | '''rsnapshot''' è un'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. = Prerequisiti = {{{#!wiki important '''rsnapshot''' deve essere avviato specificando il tipo di backup che si intende utilizzare. }}} Prima di procedere con la configurazione di rsnapshot, assicurarsi di: * Avere accesso con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]], per modificare il file di configurazione principale e per l'esecuzione dei comandi. * Disporre di spazio su disco sufficiente nella directory di destinazione (`rsnapshot_root`) per ospitare i backup, tenendo conto delle direttive di retention impostate. * Se si intendono effettuare backup di sistemi remoti [[InternetRete/DesktopRemoto/OpenSsh|SSH]] deve essere configurato e funzionante tra i sistemi coinvolti, preferibilmente con autenticazione basata su chiavi per automatizzare le operazioni. * Comprendere le basi dell'utilizzo di un [[Ufficio/EditorDiTesto|editor di testo]] e del [[AmministrazioneSistema/Terminale|terminale]]. |
| Linea 18: | Linea 30: |
| Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]. | Per configurare '''rsnapshot''' è necessario aprire il file `/etc/rsnapshot.conf` con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e un [[Ufficio/EditorDiTesto|editor di testo]]. |
| Linea 20: | Linea 32: |
| 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: | == Definizione configurazione == |
| Linea 22: | Linea 34: |
| * La seguente direttiva specifica la cartella di destinazione del backup:{{{ rsnapshot_root /var/cache/rsnapshot/ |
Ogni riga del file di configurazione deve contenere elementi separati dal carattere '''Tab''' e non deve contenere spazi. {{{#!wiki important Non è quindi consigliabile copiare e incollare le seguenti istruzioni. |
| Linea 26: | Linea 40: |
| * Supponendo di effettuare il backup tutti i giorni e di voler conservare le seguenti copie: |
* '''Direttiva `rsnapshot_root`''': Specifica la cartella di destinazione principale per tutti i backup. {{{ rsnapshot_root /var/cache/rsnapshot/ }}} * '''Direttive `retain`''': Definiscono le politiche di conservazione dei backup. Le copie vengono mantenute per periodi specifici.<<BR>>Supponendo di effettuare il backup quotidianamente e di voler conservare le seguenti copie: |
| Linea 31: | Linea 48: |
| Le direttive di configurazione per questa pianificazione sono:{{{ retain daily 7 retain weekly 4 retain monthly 6 }}}È 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). {{{#!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 assegnare 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_delle_operazioni_con_cron|per esempio con cron]]. }}} * '''Direttive `backup`''': Definiscono le cartelle locali o remote da sottoporre a backup.<<BR>>Per 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 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:{{{ backup root@example.com:/home/ example.com/ }}} * '''Direttive `exclude`''': Permettono di escludere file o cartelle specifiche dal backup tramite [[http://en.wikipedia.org/wiki/Pattern_matching|pattern matching]]. Per escludere tutti i file `.mp3` o il contenuto della cartella `.cache` dal backup, aggiungere le seguenti direttive:{{{ exclude *.mp3 exclude .cache }}} |
|
| Linea 32: | Linea 69: |
| 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]]. }}} |
== Verifica della configurazione == |
| Linea 43: | Linea 71: |
| È 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 [[InternetRete/DesktopRemoto/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 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 [[http://en.wikipedia.org/wiki/Amministrazione/Terminale|terminale]]:{{{ |
Dopo aver apportato le modifiche, è possibile testare il file di configurazione digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
| Linea 81: | Linea 92: |
| <<Anchor(pianificazione)>> == Pianificazione delle operazioni con cron == Affinchè '''rsnaphost''' venga eseguito ad intervalli regolari, occorre configurare opportunamente [[AmministrazioneSistema/Cron|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 }}} |
|
| Linea 83: | Linea 111: |
| '''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 in un [[AmministrazioneSistema/Terminale|terminale]] il relativo comando: |
| Linea 85: | Linea 113: |
| Per avviare il tipo di backup desiderato digitare il relativo comando in [[AmministrazioneSistema/Terminale|terminale]]: * '''backup giornaliero''': {{{ sudo rsnapshot daily }}} * '''backup settimanale''': {{{ sudo rsnapshot weekly }}} * '''backup mensile''': {{{ sudo rsnapshot monthly }}} |
* '''backup giornaliero''':{{{ sudo rsnapshot daily }}} * '''backup settimanale''':{{{ sudo rsnapshot weekly }}} * '''backup mensile''':{{{ sudo rsnapshot monthly }}} |
| Linea 128: | Linea 152: |
| <<Anchor(pianificazione)>> = Pianificazione delle operazioni con cron = |
= Ripristino da un backup = |
| Linea 131: | Linea 154: |
| Affinchè '''rsnaphost''' venga eseguito ad intervalli regolari, occorre configurare opportunamente [[AmministrazioneSistema/Cron|cron]]. | Il ripristino dei dati da un backup di '''rsnapshot''' è un'operazione semplice, in quanto i backup sono stored in una struttura di directory diretta e leggibile. Non è necessario utilizzare un comando specifico di `rsnapshot` per il ripristino, poiché i file sono accessibili direttamente. |
| Linea 133: | Linea 156: |
| 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. |
Per ripristinare file o cartelle: 0. Individuare la copia di backup desiderata: I backup sono memorizzati da `rsnapshot_root` nella directory specificata (ad esempio, `/var/cache/rsnapshot/`). All'interno di questa directory si trovano le cartelle di backup denominate in base alle direttive `retain` (es. `daily.0`, `daily.1`, `weekly.0`, ecc.). * `daily.0` rappresenta il backup più recente (quello del giorno corrente). * `daily.1` rappresenta il backup del giorno precedente, e così via. * `weekly.0` rappresenta il backup settimanale più recente. Ad esempio, per accedere ai file del backup giornaliero più recente della cartella `/home` di localhost, il percorso sarà `/var/cache/rsnapshot/daily.0/localhost/home/` 0. Copiare i file nella posizione originale o in una nuova destinazione: Utilizzare un comando di copia standard (come `cp` o `rsync`) per copiare i file dalla directory di backup alla posizione desiderata sul file system. [[#Esempi|Esempi]] 0. Dopo il ripristino, è buona pratica verificare che i [[AmministrazioneSistema/PermessiFile|permessi e la proprietà]] dei file/cartelle che siano corretti, soprattutto se i dati vengono ripristinati con l'utente root. Per verificare, digitare in un [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{ sudo chown -R utente:gruppo /percorso/dei/file/ripristinati sudo chmod -R 755 /percorso/dei/file/ripristinati (o permessi appropriati) }}}Questo metodo permette un controllo granulare su cosa e come ripristinare, sfruttando la natura diretta dei backup di rsnapshot. |
| Linea 138: | Linea 168: |
| 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 |
== Esempi == === Ripristino di un file singolo === Mantenendo permessi e proprietà, digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo cp /var/cache/rsnapshot/daily.0/localhost/home/utente/documento.txt /home/utente/documento.txt }}} === Ripristino di un'intera cartella === {{{#!wiki important Quando si ripristina un'intera cartella, prestare attenzione a non sovrascrivere dati importanti esistenti, a meno che non sia l'intenzione. L'uso di `rsync -a` è spesso preferibile a `cp -a` perché rsync offre maggiore controllo e può essere interrotto e ripreso. }}} Mantenendo permessi e proprietà, digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo rsync -a /var/cache/rsnapshot/daily.0/localhost/home/utente/documenti/ /home/utente/documenti/ |
| Linea 150: | Linea 191: |
| CategoryAmministrazione CategoryDaRevisionare | CategoryAmministrazione |
Guida verificata con Ubuntu: 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
rsnapshot è un'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.
Prerequisiti
rsnapshot deve essere avviato specificando il tipo di backup che si intende utilizzare.
Prima di procedere con la configurazione di rsnapshot, assicurarsi di:
Avere accesso con i privilegi di amministrazione, per modificare il file di configurazione principale e per l'esecuzione dei comandi.
Disporre di spazio su disco sufficiente nella directory di destinazione (rsnapshot_root) per ospitare i backup, tenendo conto delle direttive di retention impostate.
Se si intendono effettuare backup di sistemi remoti SSH deve essere configurato e funzionante tra i sistemi coinvolti, preferibilmente con autenticazione basata su chiavi per automatizzare le operazioni.
Comprendere le basi dell'utilizzo di un editor di testo e del terminale.
Installazione
Installare il pacchetto rsnapshot.
Configurazione
Per configurare rsnapshot è necessario aprire il file /etc/rsnapshot.conf con i privilegi di amministrazione e un editor di testo.
Definizione configurazione
Ogni riga del file di configurazione deve contenere elementi separati dal carattere Tab e non deve contenere spazi.
Non è quindi consigliabile copiare e incollare le seguenti istruzioni.
Direttiva rsnapshot_root: Specifica la cartella di destinazione principale per tutti i backup.
rsnapshot_root /var/cache/rsnapshot/
Direttive retain: Definiscono le politiche di conservazione dei backup. Le copie vengono mantenute per periodi specifici.
Supponendo di effettuare il backup quotidianamente 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 per questa pianificazione sono:
retain daily 7 retain weekly 4 retain monthly 6
È 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).I nomi daily, weekly, monthly, ecc., indicano soltanto il nome delle cartelle di backup che rsnapshot crea quando viene eseguito con quel nome.
È possibile assegnare 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.
Direttive backup: Definiscono le cartelle locali o remote da sottoporre a backup.
Per 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 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/
Direttive exclude: Permettono di escludere file o cartelle specifiche dal backup tramite pattern matching.
Per escludere tutti i file .mp3 o il contenuto della cartella .cache dal backup, aggiungere le seguenti direttive:
exclude *.mp3 exclude .cache
Verifica della configurazione
Dopo aver apportato le modifiche, è possibile testare il file di configurazione digitando in un terminale il seguente comando:
rsnapshot configtest
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
Avvio del programma
Per avviare il tipo di backup desiderato digitare in un terminale il relativo comando:
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/
Ripristino da un backup
Il ripristino dei dati da un backup di rsnapshot è un'operazione semplice, in quanto i backup sono stored in una struttura di directory diretta e leggibile. Non è necessario utilizzare un comando specifico di rsnapshot per il ripristino, poiché i file sono accessibili direttamente.
Per ripristinare file o cartelle:
Individuare la copia di backup desiderata: I backup sono memorizzati da rsnapshot_root nella directory specificata (ad esempio, /var/cache/rsnapshot/). All'interno di questa directory si trovano le cartelle di backup denominate in base alle direttive retain (es. daily.0, daily.1, weekly.0, ecc.).
daily.0 rappresenta il backup più recente (quello del giorno corrente).
daily.1 rappresenta il backup del giorno precedente, e così via.
weekly.0 rappresenta il backup settimanale più recente.
Ad esempio, per accedere ai file del backup giornaliero più recente della cartella /home di localhost, il percorso sarà /var/cache/rsnapshot/daily.0/localhost/home/
Copiare i file nella posizione originale o in una nuova destinazione: Utilizzare un comando di copia standard (come cp o rsync) per copiare i file dalla directory di backup alla posizione desiderata sul file system. Esempi
Dopo il ripristino, è buona pratica verificare che i permessi e la proprietà dei file/cartelle che siano corretti, soprattutto se i dati vengono ripristinati con l'utente root. Per verificare, digitare in un terminale i seguenti comandi:
sudo chown -R utente:gruppo /percorso/dei/file/ripristinati sudo chmod -R 755 /percorso/dei/file/ripristinati (o permessi appropriati)
Questo metodo permette un controllo granulare su cosa e come ripristinare, sfruttando la natura diretta dei backup di rsnapshot.
Esempi
Ripristino di un file singolo
Mantenendo permessi e proprietà, digitare in un terminale il seguente comando:
sudo cp /var/cache/rsnapshot/daily.0/localhost/home/utente/documento.txt /home/utente/documento.txt
Ripristino di un'intera cartella
Quando si ripristina un'intera cartella, prestare attenzione a non sovrascrivere dati importanti esistenti, a meno che non sia l'intenzione. L'uso di rsync -a è spesso preferibile a cp -a perché rsync offre maggiore controllo e può essere interrotto e ripreso.
Mantenendo permessi e proprietà, digitare in un terminale il seguente comando:
sudo rsync -a /var/cache/rsnapshot/daily.0/localhost/home/utente/documenti/ /home/utente/documenti/
