## page was renamed from CristianBattistel/Prove0
#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
'''Rsync''' è un leggero e versatile strumento per il backup. Permette di eseguire backup incrementali (rileva e salva i soli file modificati o aggiunti rispetto all'ultima operazione di copia, evitando di eseguire un backup completo), locali o in remoto.
= Prima di cominciare =
0. '''Rsync''' è installato di base su '''Ubuntu''', tuttavia è preferibile controllare che i pacchetti: [[apt://rsync | rsync]], [[apt://xinetd | xinetd]] e [[apt://ssh | ssh]] siano [[AmministrazioneSistema/InstallareProgrammi|installati]] prima di procedere col backup.
0. È necessario che 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, quali NTFS e FAT).
0. Per backup locali xinetd e ssh non sono indispensabili.
= Eseguire un backup =
== Backup in locale ==
Per eseguire un backup in locale è sufficiente digitare il seguente comando in una finestra di terminale: {{{
sudo rsync -av /percorso/cartelladiorigine /percorso/cartelladidestinazione
}}} prestando attenzione a sostituire «/percorso/cartelladiorigine» con il percorso della cartella contenente i dati di cui vogliamo fare il backup e «/percorso/cartelladidestinazione» con il percorso della cartella di destinazione del backup stesso.
Le opzioni utilizzate in questo caso sono:
* '''-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).
È possibile eseguire un backup in rete come se fosse un backup in locale semplicemente utilizzando [[Server/Samba|Samba]] e montando la cartella condivisa nel computer 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.
È 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 -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/cartelladi origine /percorso/cartelladidestinazione
}}}
Per ulteriori opzioni è possibile consultare il manuale di '''rsync''': {{{
man rsync
}}}
== 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 [[AmministrazioneSistema/BackupDelSistema/Grsync|guida]].
== Backup in rete ==
Per eseguire un backup in rete è sufficiente digitare questo comando in una finestra di terminale: {{{
sudo rsync --delete -azv -e ssh /percorso/cartella1 utenteremoto@hostremoto:/percorso/cartella2
}}}
sempre prestando attenzione a 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.
In questo caso le opzioni utilizzate, oltre a quelle precedentemente descritte, sono:
* '''-z''': comprime i dati durante il trasferimento.
* '''-e''': specifica la shell remota da utilizzare, in questo caso '''ssh'''.
=== Rsync Daemon ===
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 utilizzare l'utente '''root''' e quindi mantenere una maggiore sicurezza.
Per utilizzare '''Rsync Daemon''' procedere come segue:
* [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://xinetd | xinetd]].
* Per abilitare '''xinetd''' da parte di '''rsync''' aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|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.
* Per avviare '''rsync''' tramite '''xinetd''' creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|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
}
}}}
* Per configurare '''rsync''' per la modalità daemon creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|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'''.
* Per impostare la password creare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] il file `/etc/rsyncd.secrets` e scrivere quanto segue: {{{
utente:password
}}} prestando attenzione a sostituire «utente» col nome utente utilizzato in precedenza e «password» con la password utilizzata per il login in macchina remota.
* Per assegnare i giusti permessi al file precedentemente creato aprire un terminale e digitare il seguente comando: {{{
sudo chmod 600 /etc/rsyncd.secrets
}}}
* Infine riavviare '''xinetd''' per applicare le modifiche digitano in una finestra di terminale il seguente comando: {{{
sudo /etc/init.d/xinetd restart
}}}
* 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 =
* [[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)]]
* [[http://samba.anu.edu.au/ftp/rsync/rsync.html|Manuale di rsync]]
----
CategoryAmministrazione