Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Rsync è uno strumento leggero e versatile per il backup, installato di base su Ubuntu. Consente di eseguire backup incrementali (rileva e salva solo i file modificati o aggiunti rispetto all'ultima operazione di copia, evitando un backup completo), sia in locale che in remoto.

Prerequisiti

Tuttavia, prima di procedere con il backup, è consigliabile ed è necessario che:

Grsync

Grsync è una semplice interfaccia grafica per rsync. Permette solo le operazioni più semplici con le opzioni base, ma per backup di cartelle locali con destinazione su dischi locali è sufficiente. Per maggiori informazioni, consultare la relativa guida.

Eseguire un backup

Backup in locale

Per eseguire un backup in locale, digitare in un terminale, il seguente comando:

sudo rsync -av /percorso/cartelladiorigine /percorso/cartelladidestinazione

Sostituire /percorso/cartelladiorigine con il percorso della cartella contenente i dati da sottoporre a backup e /percorso/cartelladidestinazione con il percorso della cartella di destinazione del backup stesso.

Le opzioni utilizzate in questo caso sono:

Sintassi opzioni

Opzione

Risultato

-a

copia ricorsivamente e conserva i permessi e le date dei file.

-v

abilita la modalità verbose (mostrando le operazioni in corso ed eventuali errori).

Backup incrementale

Per un backup incrementale completo, che cancelli nella cartella di destinazione i file non più presenti nella cartella di origine:

Per ulteriori opzioni, consultare il manuale digitando il comando man rsync

Backup in rete

Per backup in rete su cartelle condivise con Samba, si può montare la risorsa remota e trattarla come una destinazione locale. È consigliabile utilizzare questo metodo solo su reti private per motivi di sicurezza.

Per eseguire un backup in rete, è possibile utilizzare rsync tramite SSH. Questo garantisce un trasferimento sicuro dei dati. Digitare in un terminale il seguente comando:

sudo rsync --delete -azv -e ssh /percorso/cartella1 utenteremoto@hostremoto:/percorso/cartella2

Sostituire /percorso/cartella1 con il percorso della cartella di origine, /percorso/cartella2 con il percorso della cartella di destinazione e utenteremoto@hostremoto con l'indirizzo dell'utente remoto (ad esempio, nomeutente@indirizzo_IP_o_hostname).

In questo caso, le opzioni utilizzate, oltre a quelle precedentemente descritte, sono:

Sintassi opzioni

Opzione

Risultato

-z

comprime i dati durante il trasferimento, utile per connessioni più lente.

-e ssh

specifica la shell remota da utilizzare, in questo caso ssh, che garantisce un canale crittografato.

Autenticazione SSH

Per l'autenticazione remota tramite SSH, sono disponibili due metodi principali:

Alternative a SSH

Rsync Daemon

In alternativa a ssh, è possibile utilizzare Rsync Daemon per effettuare i backup in rete. Il vantaggio di utilizzare Rsync Daemon è la possibilità di effettuare un backup di un intero sistema senza utilizzare l'utente root, mantenendo una maggiore sicurezza.

Per utilizzare Rsync Daemon, procedere come segue:

Abilitare xinetd da parte di rsync

Aprire con un editor di testo e con i privilegi di amministrazione il file /etc/default/rsync. Cercare la seguente riga:

RSYNC_ENABLE=false

e modificarla come segue:

RSYNC_ENABLE=inetd

salvare e chiudere l'editor di testo.

Avviare rsync tramite xinetd

Creare con un editor di testo e con i privilegi di amministrazione il file /etc/xinetd.d/rsync e inserire il seguente contenuto:

service rsync
{
    disable = no
    socket_type = stream
    wait = no
    user = root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID
}

Infine riavviare xinetd per applicare le modifiche digitando in una finestra di terminale il seguente comando:

sudo systemctl restart xinetd

Modalità daemon

Per configurare rsync per la modalità daemon:

  1. Creare con un editor di testo e con i privilegi di amministrazione il file /etc/rsyncd.conf e incollare il seguente contenuto:

    max connections = 2
    log file = /var/log/rsync.log
    timeout = 300
    
    [share]
    comment = Public Share
    path = /home/share
    read only = no
    list = yes
    uid = nobody
    gid = nogroup
    auth users = utente
    secrets file = /etc/rsyncd.secrets

    prestando attenzione a sostituire la parola utente col nome dell'utente da autorizzare all'utilizzo di rsync.

  2. Riavviare il servizio xinetd per applicare le modifiche digitando in un terminale il seguente comando:

    sudo systemctl restart xinetd

Impostare password

Per impostare la password, creare con un editor di testo e con i privilegi di amministrazione il file /etc/rsyncd.secrets e scrivere quanto segue:

utente:password

sostituire utente col nome utente utilizzato in precedenza e password con la password utilizzata per il login in macchina remota.

Assegnare i permessi

Per assegnare i giusti permessi al file precedentemente creato:

Controllare l'esito del backup

Per controllare il buon esito delle operazioni è possibile digitare il seguente comando:

sudo rsync utente@host::share

sostituendo utente con il nome utente in uso e host con il nome host in uso.

Il risultato del precedente comando dovrebbe essere simile a questo:

drwxr-xr-x        4096 2006/12/13 09:41:59 .
drwxr-xr-x        4096 2006/11/23 18:00:03 folders

Ulteriori risorse


CategoryAmministrazione

AmministrazioneSistema/BackupDelSistema/Rsync (l'ultima modifica è del 19/11/2025 16.30.00, fatta da ivantu)