## 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