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 27 e 28
Versione 27 del 11/12/2010 12.08.00
Dimensione: 3798
Commento:
Versione 28 del 11/12/2010 12.14.29
Dimensione: 6994
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 22: Linea 22:

= Prima di cominciare =

Per eseguire correttamente un backup bisogna scegliere correttamente la cartella di destinazione della copia. Affinché i permessi possano essere conservati in maniera corretta è necessario che questa si trovi su un filesystem in grado di gestire i permessi Unix e Unix-like, evitare quindi i filesystem dei sistemi NT, quali "ntfs" e "fat".
Linea 58: Linea 62:
sudo rsync --delete -azvv -e ssh /percorso/Cartella1/ utenteremoto@hostremoto.domain:/percorso/Cartella2 sudo rsync --delete -azvv -e ssh /percorso/Cartella1/ utenteremoto@hostremoto:/percorso/Cartella2
Linea 60: Linea 64:
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. sempre prestando attenzione a sostituire `/percorso/Cartella1` con la cartella di origine, `/percorso/Cartella2` con la cartella di destinazione e `utenteremoto@hostremoto` con l'indirizzo dell'utente remoto.
Linea 66: Linea 70:
== Rsync Daemon == === Rsync Daemon ===
Linea 70: Linea 74:
Per prima cosa bisogna assicurarsi di avere [:AmministrazioneSistema/InstallareProgrammi:installato] il pacchetto [apt://xinetd xinetd], non installato di base su Ubuntu.
Linea 71: Linea 76:
Quindi per abilitare l'utilizzo di '''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` e cercare la seguente riga: {{{
RSYNC_ENABLE=false
}}}
e modificarla come segue: {{{
RSYNC_ENABLE=inetd
}}}
salvare e chiudere l'editor.
Linea 72: Linea 84:
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 incollare 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
}
}}}
Linea 73: Linea 97:
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
Linea 74: Linea 102:
[share]
comment = Public Share
path = /home/share
read only = no
list = yes
uid = nobody
gid = nogroup
auth users = utente
secrets file = /etc/rsyncd.secrets
}}}
Linea 75: Linea 113:
prestando attenzione a sostituire la parola `utente` col nome dell'utente da autorizzare all'utilizzo di '''rsync'''.
Linea 76: Linea 115:
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 eseguire il seguente comando: {{{
sudo chmod 600 /etc/rsyncd.secrets
}}}

Infine riavviare '''xinetd''' per applicare le modifiche: {{{
sudo /etc/init.d/xinetd restart
}}}

Per controllare il buon esito delle operazioni è possibile eseguire il seguente comando: {{{
sudo rsync utente@host::share
}}}
sostituendo `utente` con il nome utente e `host` con il nome host. Il risultato 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 79: Linea 138:
 *
 *
 * [http://samba.anu.edu.au/rsync/ Sito web rsync]
 * [http://everythinglinux.org/rsync/ Guida su everythinglinux in inglese]
 * [https://help.ubuntu.com/community/rsync Guida sul wiki ubuntu inglese]
 * [http://samba.anu.edu.au/ftp/rsync/rsync.html man di rsync]

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")

Introduzione

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

  • Grsync: testo di esempio, inserire descrizione.
  • Sbackup
  • Back in time

Programmi che utilizzano lo stesso algoritmo di Rsync:

  • Déjà Dup
  • rsnapshot

Prima di cominciare

Per eseguire correttamente un backup bisogna scegliere correttamente la cartella di destinazione della copia. Affinché i permessi possano essere conservati in maniera corretta è necessario che questa si trovi su un filesystem in grado di gestire i permessi Unix e Unix-like, evitare quindi i filesystem dei sistemi NT, quali "ntfs" e "fat".

Installazione

Rsync è installato di base su Ubuntu, tuttavia è preferibile controllare che i pacchetti [apt://rsync,xinetd,ssh rsync, xinetd e ssh] siano [:AmministrazioneSistema/InstallareProgrammi:installati] prima di procedere col backup.

Eseguire un backup

Backup in locale

Immagine(Icone/Grandi/info.png,,center)

È 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 è 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 Le opzioni utilizzate in questo caso sono:

  • -a copia ricorsivamente e conserva i permessi e le date dei file

  • -z comprime i dati

  • -vv abilita la modalità verbose

È 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

È 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

Backup in rete

Per eseguire un backup in rete è sufficiente eseguire questo comando:

sudo rsync --delete -azvv -e ssh /percorso/Cartella1/ utenteremoto@hostremoto:/percorso/Cartella2

sempre prestando attenzione a sostituire /percorso/Cartella1 con la cartella di origine, /percorso/Cartella2 con la cartella di destinazione e utenteremoto@hostremoto con l'indirizzo dell'utente remoto.

In questo caso l'opzione utilizzata, oltre a quelle precedentemente descritte comuni al backup in locale, è:

  • -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 abilitare il login di "root" e quindi mantenere una maggiore sicurezza.

Per prima cosa bisogna assicurarsi di avere [:AmministrazioneSistema/InstallareProgrammi:installato] il pacchetto [apt://xinetd xinetd], non installato di base su Ubuntu.

Quindi per abilitare l'utilizzo di 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 e cercare la seguente riga:

RSYNC_ENABLE=false

e modificarla come segue:

RSYNC_ENABLE=inetd

salvare e chiudere l'editor.

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 incollare 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 eseguire il seguente comando:

sudo chmod 600 /etc/rsyncd.secrets

Infine riavviare xinetd per applicare le modifiche:

sudo /etc/init.d/xinetd restart

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

sudo rsync utente@host::share

sostituendo utente con il nome utente e host con il nome host. Il risultato 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