Backup Linux · 6 min read · Sep 16, 2025

Come utilizzare Rsnapshot per backup e ripristino su server Linux

rsnapshot è un’utilità di backup per macchine basate su Linux. È disponibile sulla maggior parte delle distribuzioni Linux, puoi installarlo facilmente tramite il gestore pacchetti. rsnapshot è scritto in Perl senza dipendenze, supporta anche backup locali e remoti.

Con rsnapshot, puoi eseguire il backup della tua directory locale. Per quanto riguarda il backup remoto, rsnapshot utilizza ‘ssh’ e ‘rsync’.

In questo tutorial, imparerai come eseguire backup e ripristini utilizzando Rsnapshot su un server Linux. Configurerai rsnapshot per backup locali e remoti. Imparerai anche come impostare un backup automatico con rsnapshot e cron.

Prerequisiti

Per completare questa guida, assicurati di avere i seguenti:

  • Un server Linux come Debian, Ubuntu, CentOS o qualsiasi distribuzione
  • Un utente non root con privilegi di amministratore
  • Facoltativo, un server aggiuntivo per testare il backup remoto

Installazione di rsnapshot

rsnapshot è un’utilità di backup disponibile sulla maggior parte delle distribuzioni Linux. Puoi installarlo tramite il rispettivo gestore pacchetti. In questa sezione, installerai rsnapshot sul server Debian. Quindi, se stai utilizzando una distribuzione diversa, installalo con il tuo attuale gestore pacchetti.

Prima di tutto, aggiorna l’indice dei pacchetti con il seguente comando. In questo esempio, utilizzeremo Debian, puoi usare distribuzioni basate su Debian come Ubuntu, Linux Mint, ecc.

sudo apt update

aggiorna repo

Una volta aggiornato, esegui il comando qui sotto per installare il pacchetto ‘ rsnapshot ‘. Inserisci ‘ Y ‘ per confermare la tua installazione.

sudo apt install rsnapshot

installa rsnapshot

Dopo che l’installazione è completata, controlla la posizione del binario ‘ rsnapshot ‘ e la sua versione.

which rsnapshot  
rsnapshot --version

Puoi vedere qui sotto, Rsnapshot 1.4 è installato in ‘ /usr/bin/rsnapshot ‘.

controlla rsnapshot

Configurazione dell’autenticazione con chiave SSH

Quando esegui un backup remoto, devi assicurarti che il tuo server rsnapshot possa accedere al server di destinazione utilizzando l’autenticazione con chiave SSH. Quindi, per il backup remoto, devi avere i seguenti:

  • Un utente che verrà utilizzato per accedere al server di destinazione
  • L’autenticazione basata su chiave SSH è abilitata

In questa sezione, genererai una chiave SSH sul server rsnapshot. E poi copierai la chiave pubblica SSH sul server di destinazione ‘ 192.168.10.41 ‘ utilizzando l’utente ‘ alice ‘.

Sul server ‘rsnapshot’, genera le chiavi pubblica e privata SSH utilizzando il comando ‘ ssh-keygen ‘ qui sotto. Premi ‘ENTER’ quando ti viene chiesto il percorso della chiave e la password.

ssh-keygen -t ed25519

genera chiave ssh

Ora esegui il comando ‘ ssh-copy-id ‘ qui sotto per caricare la chiave pubblica SSH sul tuo server di destinazione. In questo esempio, eseguirai un backup remoto dal server ‘ 192.168.10.41 ‘ con l’autenticazione SSH basata su chiave e utilizzando l’utente ‘ alice ‘.

ssh-copy-id [email protected]

Inserisci la tua password quando richiesto.

ssh carica chiave

Una volta che la chiave pubblica SSH è stata caricata, sei pronto per configurare Rsnapshot.

Configurazione di rsnapshot

In questa sezione, configurerai rsnapshot per backup locali e remoti. Modificherai la configurazione predefinita ‘ /etc/rsnapshot.conf ‘, imposterai la directory di backup predefinita, abiliterai l’integrazione con SSH e Rsync, imposterai backup a intervalli e poi configurerai backup locali e remoti.

Copia la configurazione predefinita di rsnapshot ‘ /etc/rsnapshot.conf ‘ e modifica il file con l’editor ‘ nano ‘ o ‘ vim ‘.

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig  
sudo nano /etc/rsnapshot.conf

Cambia il ‘ snapshot_root ‘ predefinito con una nuova directory. Questa directory verrà utilizzata per memorizzare i tuoi dati di backup.

snapshot_root /data/backup/

Decommenta le opzioni ‘ cmd_rsync ‘ e ‘ cmd_ssh ‘ per abilitare il backup remoto con rsync tramite SSH.

cmd_rsync /usr/bin/rsync  
cmd_ssh /usr/bin/ssh

Cambia i livelli di backup predefiniti o gli intervalli come segue. La denominazione è facoltativa, puoi cambiarla come necessario. Quindi, per questo esempio, il ‘ daily 6 ‘ creerà directory di backup chiamate ‘ daily.0 ‘ a ‘ daily.5 ‘.

NOTA: Usa TAB invece di spazio, perché ciò genererà un errore.

retain daily 6  
retain weekly 7  
retain monthly 4

Decommenta l’opzione ‘ logfile ‘ per abilitare un log di rsnapshot nel file.

logfile /var/log/rsnapshot.log

Se stai eseguendo un server remoto con una porta SSH personalizzata, decommenta l’opzione ‘ ssh_args ‘ e cambia la porta.

ssh_args -p 22

Ora per il backup locale, usa la configurazione come questa. In questo esempio, eseguiremo il backup della directory locale ‘ /home/arvd ‘ nella ‘ local ‘. Il percorso di destinazione dovrebbe essere un percorso relativo, questo è uguale a ‘ /srv/backup/name-interval/local ‘.

backup /home/arvdl/ local

Per il backup remoto tramite SSH e rsync, usa la configurazione come questa. In questo esempio, eseguiremo il backup delle directory ‘ /etc ‘ e ‘ /var/www ‘ dal server remoto ‘ 192.168.10.41 ‘ con l’utente SSH ‘ alice ‘ nella directory di percorso relativo ‘ server1 ‘.

backup [email protected]:/etc/ server1  
backup [email protected]:/var/www server1

Salva ed esci dal file quando hai finito.

Dopo aver configurato rsnapshot, controlla e testa la configurazione di rsnapshot con il seguente comando. Se hai una configurazione corretta, vedrai un output ‘ Syntax OK ‘.

rsnapshot configtest

Testare il backup di rsnapshot manualmente

Ora che hai configurato rsnapshot, verifichiamo e testiamo il tuo backup con rsnapshot eseguendo il backup manualmente, controllando la directory di backup e il file di log di rsnapshot.

Per testare il tuo backup manualmente, esegui il comando ‘rsnapshot’ qui sotto. Assicurati di cambiare ‘ daily ‘ con il tuo nome di backup.

rsnapshot daily

Se il processo è completato, controlla la directory di backup ‘ /srv/backup ‘ con il seguente comando. Vedrai una nuova directory di backup ‘ daily.0 ‘ che contiene i tuoi file di backup dai server locali e remoti.

ls /srv/backup/

Ora esegui il comando qui sotto per controllare l’utilizzo del disco da parte di rsnapshot.

rsnapshot du

Nell’output qui sotto, puoi vedere che l’utilizzo totale del disco per il backup di rsnapshot è di 5MB.

rsnapshot du

Infine, controlla il file di log di backup ‘ /var/log/rsnapshot.log ‘ per verificare il tuo processo di backup.

cat /var/log/rsnapshot.log

Il seguente mostra che il backup è stato completato con successo, ma con alcuni avvisi, come permesso negato durante il backup del file ‘ /etc/shadow ‘.

file di log

Backup automatico con Cron

Per il backup automatico, puoi integrare rsnapshot con cron. Ad esempio, imposterai cron per backup automatici come ‘ daily ‘, ‘ weekly ‘ e ‘ monthly ‘.

Apri il file ‘ /etc/cron.d/rsnapshot ‘ con l’editor ‘nano’. Questo file è un esempio generato da rsnapshot.

sudo nano /etc/cron.d/rsnapshot

Inserisci la seguente configurazione per il backup automatico tramite rsnapshot. In questo esempio, il backup ‘ daily ‘ verrà eseguito quotidianamente, così come ‘ weekly ‘ e ‘ monthly ‘ nei rispettivi orari.

0 0 * * * root rsnapshot daily  
0 0 * * 0 root rsnapshot weekly  
0 0 1 * * root rsnapshot monthly

Salva il file ed esci dall’editor.

Con questo, il tuo backup automatico verrà eseguito tramite cron.

Ripristino del backup di rsnapshot

Per ripristinare il backup di rsnapshot, devi solo copiare i tuoi dati dalla directory di backup alla tua destinazione. Per questo esempio, puoi copiare i tuoi dati dalla directory di backup ‘/srv/backup’.

Conclusione

Congratulazioni! Hai completato il tutorial per installare rsnapshot e configurare rsnapshot per backup locali e remoti, e hai imparato alcuni comandi di base di ‘rsnapshot’. Infine, hai anche imparato come impostare un backup automatico con rsnapshot e cron.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.