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/Rsync"
Differenze tra le versioni 26 e 59 (in 33 versioni)
Versione 26 del 11/12/2010 11.59.30
Dimensione: 3793
Commento: aggiungo un programma in realtà è senza gui. poi vedi
Versione 59 del 19/11/2025 16.30.00
Dimensione: 9306
Autore: ivantu
Commento: +correzioni
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from CristianBattistel/Prove0
Linea 3: Linea 4:
[[BR]]
[[Indice(depth=2)]]

[[
Informazioni(rilasci="10.10 10.04 9.10 8.04"; forum="http://forum.ubuntu-it.org/index.php/topic,59072.0.html")]]
<<BR>>
<<Indice(depth=1)>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=599983"; rilasci="24.04 22.04 20.04 19.10 18.04 16.04")>>
Linea 11: Linea 10:
'''Rsync''' è un leggero e versatile strumento per il backup. Può eseguire backup in locale o in remoto ed è molto efficiente data la caratteristica di effettuare la salvataggio, e quindi l'eventuale invio tramite network, esclusivamente dei file che hanno subito modifica rispetto all'ultima operazione di copia, rendendolo quindi ideale per i backup incrementali. [[BR]]
'''Rsync''' è uno strumento a [:AmministrazioneSistema/RigaDiComando:riga di comando] ma è possibile utilizzare diverse '''GUI''' per le quali si rimanda alle rispettive guide: [[BR]]
'''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.
Linea 14: Linea 12:
 * Grsync
 * Sbackup
 * Back in time
 * rsnapshot
= Prerequisiti =
Linea 19: Linea 14:
Programmi che utilizzano lo stesso algoritmo di Rsync: Tuttavia, prima di procedere con il backup, è consigliabile ed è necessario che:
Linea 21: Linea 16:
 * Déjà Dup  * La cartella di destinazione si trovi su un filesystem in grado di gestire i [[AmministrazioneSistema/PermessiFile|permessi]] di tipo ''Unix-like'' (evitare quindi i filesystem di sistemi NT, come [[Hardware/DispositiviPartizioni/MontarePartizioni/Ntfs|NTFS]] e [[Hardware/DispositiviPartizioni/MontarePartizioni/Fat|FAT]]).
 * Qualora invece sia assente in caso di [[Installazione/CdMinimale|installazioni minimali]] oppure ad esempio disinstallazione accidentale, [[AmministrazioneSistema/InstallareProgrammi|installare]] i seguenti pacchetti: [[apt://rsync | rsync]], [[apt://xinetd | xinetd]] e [[apt://ssh | ssh]].
 {{{#!wiki note
 Per i backup locali, '''xinetd''' e '''ssh''' non sono indispensabili.
 }}}
 
== Grsync ==
Linea 23: Linea 24:
= Installazione =

'''Rsync''' è installato di base su '''Ubuntu''', tuttavia è preferibile controllare che i seguenti pacchetti siano [:AmministrazioneSistema/InstallareProgrammi:installati] prima di procedere col backup:

 * [apt://rsync rsync]
 * [apt://xinetd xinetd]
 * [apt://ssh ssh]
'''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 [[AmministrazioneSistema/BackupDelSistema/Grsync|guida]].
Linea 35: Linea 30:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">È possibile eseguire un backup in rete come se fosse un backup in locale semplicemente utilizzando [:Server/Samba:Samba] montando la directory condivisa nel PC da cui si sta operando. È comunque consigliabile per la propria sicurezza utilizzare questo metodo solo per computer connessi in reti private e non in internet. || Per eseguire un backup in locale, digitare in un [[AmministrazioneSistema/Terminale|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.
Linea 37: Linea 34:
Per eseguire un backup in locale è sufficiente eseguire questo comando: {{{
sudo rsync -azvv /percorso/Cartella1 /percorso/Cartella2
}}}
prestando attenzione a sostituire `/percorso/Cartella1` con la cartella di origine e `/precorso/Cartella2` con la cartella di destinazione. [[BR]]
Linea 43: Linea 36:
 * `-a` copia ricorsivamente e conserva i permessi e le date dei file
 * `-z` comprime i dati
 * `-vv` abilita la modalità verbose
||<tablestyle="width:50%;" -2:>'''Sintassi opzioni'''||
||<:30%> '''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). ||
Linea 47: Linea 41:
È possibile fare in modo che '''rsync''' cancelli nella cartella di destinazione i file non più presenti nella cartella di origine aggiungendo l'opzione `--delete` ottenendo quindi un backup incrementale completo: {{{
sudo rsync --delete -azvv /percorso/Cartella1 /percorso/Cartella2
=== Backup incrementale ===

Per un backup incrementale completo, che cancelli nella cartella di destinazione i file non più presenti nella cartella di origine:
 * Aggiungere l'opzione '''--delete''':{{{
sudo rsync --delete -av /percorso/cartelladiorigine /percorso/cartelladidestinazione
}}}
 * È anche possibile escludere dal backup alcuni dati usando l'opzione '''--exclude'''.<<BR>>Ad esempio, per escludere i file e le cartelle nascoste:{{{
sudo rsync --exclude=".*" --delete -av /percorso/cartelladiorigine /percorso/cartelladidestinazione
Linea 51: Linea 51:
È anche possibile escludere dal backup alcuni file grazie all'opzione `--exclude`, ad esempio i file nascosti: {{{
sudo rsync --exclude=".*/" --delete -azvv /percorso/Cartella1 /percorso/Cartella2
}}}

Per ulteriori opzioni è possibile consultare il manuale di '''rsync''': {{{
man rsync
{{{#!wiki note
Per ulteriori opzioni, consultare il manuale digitando il comando `man rsync`
Linea 61: Linea 57:
Per eseguire un backup in rete è sufficiente eseguire questo comando: {{{
sudo rsync --delete -azvv -e ssh /percorso/Cartella1/ utenteremoto@hostremoto.domain:/percorso/Cartella2
{{{#!wiki note
Per backup in rete su cartelle condivise con [[Server/Samba|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.
Linea 64: Linea 60:
sempre prestando attenzione a sostituire `/percorso/Cartella1` con la cartella di origine, `/percorso/Cartella2` con la cartella di destinazione e `utenteremoto@hostremoto.domain` con l'indirizzo dell'utente remoto.
Linea 66: Linea 61:
In questo caso l'opzione utilizzata, oltre a quelle precedentemente descritte comuni al backup in locale, è: Per eseguire un backup in rete, è possibile utilizzare `rsync` tramite '''[[InternetRete/DesktopRemoto/OpenSsh|SSH]]'''. Questo garantisce un trasferimento sicuro dei dati. Digitare in un [[AmministrazioneSistema/Terminale|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`).
Linea 68: Linea 65:
 * `-e` specifica la shell remota da utilizzare, in questo caso `ssh` In questo caso, le opzioni utilizzate, oltre a quelle precedentemente descritte, sono:
Linea 70: Linea 67:
== Rsync Daemon == ||<tablestyle="width:50%;" -2:>'''Sintassi opzioni'''||
||<:30%> '''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. ||
Linea 72: Linea 72:
In alternativa a '''SSH''' è possibile utilizzare '''Rsync Daemon''' per effettuare i backup in rete. Il vantaggio di utilizzare '''Rsync Daemon''' è quello di poter effettuare un backup di un intero sistema senza abilitare il login di "root" e quindi mantenere una maggiore sicurezza. === Autenticazione SSH ===
Linea 74: Linea 74:
Per l'autenticazione remota tramite [[InternetRete/DesktopRemoto/OpenSsh|SSH]], sono disponibili due metodi principali:
 * '''Password''': Se non è configurata l'autenticazione tramite chiave SSH, verrà richiesta la password dell'utente remoto al momento dell'esecuzione del comando `rsync`.
 * '''Chiavi SSH''': Per una maggiore sicurezza e per automatizzare i backup (senza dover inserire la password ogni volta), è fortemente consigliato configurare l'autenticazione tramite chiavi SSH.
  * Generare una coppia di chiavi SSH sul computer locale (se non già presenti) con `ssh-keygen`.
  * Copiare la chiave pubblica sul server remoto utilizzando `ssh-copy-id utenteremoto@hostremoto`.
  * Assicurarsi che i [[AmministrazioneSistema/PermessiFile|permessi]] delle chiavi siano corretti (`chmod 600 ~/.ssh/id_rsa` per la chiave privata e `chmod 644 ~/.ssh/id_rsa.pub` per la chiave pubblica).
Linea 75: Linea 81:
== Alternative a SSH ==
Linea 76: Linea 83:
=== Rsync Daemon ===
Linea 77: Linea 85:
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.
Linea 78: Linea 87:
Per utilizzare '''Rsync Daemon''', procedere come segue:
Linea 79: Linea 89:
==== Abilitare xinetd da parte di rsync ====
Linea 80: Linea 91:
Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|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 [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|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:

 0. Creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|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'''.
 0. [[AmministrazioneSistema/Systemd|Riavviare il servizio]] '''xinetd''' per applicare le modifiche digitando in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo systemctl restart xinetd
}}}

==== Impostare password ====

Per impostare la password, creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|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 [[AmministrazioneSistema/PermessiFile|permessi]] al file precedentemente creato:

 * Aprire il file `/etc/rsyncd.secrets` con un [[AmministrazioneSistema/Terminale|terminale]] digitando il seguente comando:{{{
sudo chmod 600 /etc/rsyncd.secrets
}}}
 * Infine riavviare '''xinetd''' per applicare le modifiche digitando in una finestra di terminale il seguente comando:{{{
sudo systemctl restart xinetd
}}}

==== 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
}}}
Linea 83: Linea 169:
 *
 *
 * [[http://samba.anu.edu.au/rsync/|Sito ufficiale]]
 * [[https://help.ubuntu.com/community/rsync|Documento originale]]
 * [[http://everythinglinux.org/rsync/|Guida su everythinglinux (in inglese)]]
Linea 87: Linea 174:
CategoryAmministrazione


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:

  • La cartella di destinazione si trovi su un filesystem in grado di gestire i permessi di tipo Unix-like (evitare quindi i filesystem di sistemi NT, come NTFS e FAT).

  • Qualora invece sia assente in caso di installazioni minimali oppure ad esempio disinstallazione accidentale, installare i seguenti pacchetti: rsync, xinetd e ssh.

    • Per i backup locali, xinetd e ssh non sono indispensabili.

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:

  • Aggiungere l'opzione --delete:

    sudo rsync --delete -av /percorso/cartelladiorigine /percorso/cartelladidestinazione
  • È anche possibile escludere dal backup alcuni dati usando l'opzione --exclude.
    Ad esempio, per escludere i file e le cartelle nascoste:

    sudo rsync --exclude=".*" --delete -av /percorso/cartelladiorigine /percorso/cartelladidestinazione

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:

  • Password: Se non è configurata l'autenticazione tramite chiave SSH, verrà richiesta la password dell'utente remoto al momento dell'esecuzione del comando rsync.

  • Chiavi SSH: Per una maggiore sicurezza e per automatizzare i backup (senza dover inserire la password ogni volta), è fortemente consigliato configurare l'autenticazione tramite chiavi SSH.

    • Generare una coppia di chiavi SSH sul computer locale (se non già presenti) con ssh-keygen.

    • Copiare la chiave pubblica sul server remoto utilizzando ssh-copy-id utenteremoto@hostremoto.

    • Assicurarsi che i permessi delle chiavi siano corretti (chmod 600 ~/.ssh/id_rsa per la chiave privata e chmod 644 ~/.ssh/id_rsa.pub per la chiave pubblica).

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:

  • Aprire il file /etc/rsyncd.secrets con un terminale digitando il seguente comando:

    sudo chmod 600 /etc/rsyncd.secrets
  • Infine riavviare xinetd per applicare le modifiche digitando in una finestra di terminale il seguente comando:

    sudo systemctl restart xinetd

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