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
Una volta aggiornato, esegui il comando qui sotto per installare il pacchetto ‘ rsnapshot ‘. Inserisci ‘ Y ‘ per confermare la tua installazione.
sudo apt install rsnapshot
Dopo che l’installazione è completata, controlla la posizione del binario ‘ rsnapshot ‘ e la sua versione.
which rsnapshot
rsnapshot --versionPuoi vedere qui sotto, Rsnapshot 1.4 è installato in ‘ /usr/bin/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
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.

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.confCambia 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/sshCambia 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 4Decommenta l’opzione ‘ logfile ‘ per abilitare un log di rsnapshot nel file.
logfile /var/log/rsnapshot.logSe stai eseguendo un server remoto con una porta SSH personalizzata, decommenta l’opzione ‘ ssh_args ‘ e cambia la porta.
ssh_args -p 22Ora 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/ localPer 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 server1Salva 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 configtestTestare 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 dailySe 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 duNell’output qui sotto, puoi vedere che l’utilizzo totale del disco per il backup di rsnapshot è di 5MB.

Infine, controlla il file di log di backup ‘ /var/log/rsnapshot.log ‘ per verificare il tuo processo di backup.
cat /var/log/rsnapshot.logIl seguente mostra che il backup è stato completato con successo, ma con alcuni avvisi, come permesso negato durante il backup del file ‘ /etc/shadow ‘.

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/rsnapshotInserisci 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 monthlySalva 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.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.