SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Introduzione a Rsync


                  Trasferimento file ottimizzato
                               Montebelluna 29 novembre 2007




Manuel `EndelWar` Dalla Lana            Rsync                  29 nov 2007   1
Licenza d'utilizzo
                             Copyright © 2007, Manuel Dalla Lana
    Questo documento viene rilasciato secondo i termini della licenza Creative Commons
          Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported
                                 (http://creativecommons.org).
                                      L’utente è libero di:
           riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,
              rappresentare, eseguire, recitare e modificare quest'opera
                                    alle seguenti condizioni:
Attribuzione                 Deve riconoscere la paternità dell’opera all’autore originario.
Non commerciale              Non può utilizzare quest’opera per scopi commerciali.
Condividi allo stesso modo Se alteri o trasformi quest'opera, o se la usi per crearne un'altra,
puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa.
●Ogni volta che usi o distribuisci quest'opera, devi farlo secondo i termini di questa licenza,
che va comunicata con chiarezza.
●In ogni caso, puoi concordare col titolare dei diritti utilizzi di quest'opera non consentiti da
questa licenza.
Questa licenza lascia impregiudicati i diritti morali.
●




Questo è un riassunto in lingua corrente dei concetti chiave della licenza completa (codice
legale), reperibile sul sito Internet
                 http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode

Manuel `EndelWar` Dalla Lana                  Rsync                             29 nov 2007         2
Cos'è Rsync?




   Rsync (Remote Sync) è uno strumento estremamente versatile e veloce
   per copiare file in locale e da/verso sistemi remoti.

   Rsync è stato creato da Andrew Tridgell (autore anche di Samba) e Paul
   Mackerras, attualmente mantenuto da Wayne Davison (autore di trn) ed
   è rilasciato con licenza GNU GPL.




Manuel `EndelWar` Dalla Lana        Rsync                      29 nov 2007   3
Installazione

Sorgente
$ wget http://rsync.samba.org/ftp/rsync/rsync-
2.6.9.tar.gz
$ tar zxvf rsync-2.6.9.tar.gz
$ cd rsync-2.6.9/
$ ./configure
$ make
# make install

Debian e derivate
# apt-get install rsync

Red Hat Enterprise Linux (RHEL)
# up2date rsync

CentOS/Fedora Core Linux
# yum install rsync

Manuel `EndelWar` Dalla Lana   Rsync        29 nov 2007   4
Come funziona?


    Rsync sincronizza file e directory da una locazione
    all'altra minimizzando la quantità di dati da spostare
    grazie all'algoritmo rsync che utilizza (quando possibile)
    il delta encoding, spostando quindi solo ciò che
    differisce tra due versioni di un file.

    Inoltre utilizza una sola trasmissione di dati per ogni
    direzione di comunicazione (upload e download)

    Altra caratteristiche utilizzabili sono la compressione dei
    dati e la ricorsione nelle directory.




Manuel `EndelWar` Dalla Lana   Rsync                29 nov 2007   5
L'algoritmo
Ricevente:
  spezza i file in blocchi contigui di dimensione S
  per ciascuno dei blocchi calcola 2 checksum (MD4 e uno simile a adler-32)
  spedisce al mittente i checksum
Mittente:
  calcola il checksum per tutti i possibili blocchi di lunghezza S del file
  compara i suoi checksum ciclici con quelli inviati dal ricevente, per verificare se
  ci sono delle corrispondenze
  Se ci sono, viene calcolato e controllato anche il corrispondente hash MD4
  il mittente invia al ricevente solo le parti del file per cui non sono stati trovati
  blocchi corrispondenti, insieme a istruzioni su come ricomporre i blocchi già
  presenti e le parti nuove in modo da ottenere una copia esatta del file originale
Risultato: Se le due versioni del file hanno molte sezioni in comune,
com'è spesso il caso quando si tratta di versioni diverse dello stesso file,
rsync può effettuare la sincronizzazione trasmettendo molti pochi dati
rispetto alla dimensione dell'intero file.

Manuel `EndelWar` Dalla Lana           Rsync                         29 nov 2007   6
Principali opzioni del comando


      -v : verbose (-vv more verbose)
      -a : archive mode; same as -rlptgoD (no -H, -A)
      -r : recurse into directories
      -z : compress file data
      --delete : delete files that don’t exist on sender
      (system)
      -e “ssh options” : specify the remote shell to use




Manuel `EndelWar` Dalla Lana   Rsync            29 nov 2007   7
Sicurezza prima di tutto!

    Utilizzare SEMPRE ssh quando si utilizza rsync attraverso una
                rete non fidata (LAN, Wifi, Internet,...)


               Operazioni semplificate con ssh passwordless
      local$ ssh-keygen -t dsa
      local$ scp ~/.ssh/id_dsa.pub remote
      local$ ssh username@remote
      remote$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
      remote$ chmod 644 ~/.ssh/authorized_keys
      remote$ exit
      local$ ssh username@remote



Manuel `EndelWar` Dalla Lana     Rsync                 29 nov 2007   8
Il demone rsyncd
rsync può essere demonizzato, e lavorerà (di default) sulla porta TCP 873
/etc/rsyncd.conf
motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[simple_path_name]
   path = /rsync_files_here
   use chroot = yes
   comment = My Very Own Rsync Server
   uid = nobody
   gid = nobody
   read only = no
   list = yes
   auth users = username
   secrets file = /etc/rsyncd.secrets

/etc/rsyncd.secrets
endelwar:miapassword



Manuel `EndelWar` Dalla Lana       Rsync                  29 nov 2007   9
Esempi di utilizzo
rsync         -t *.c foo:src/
rsync         -avz foo:src/bar /data/tmp
rsync         -avz foo:src/bar/ /data/tmp
rsync         -av host::src /dest

rsync somehost.mydomain.com::

rsync host::’modname/dir1/file1
            modname/dir2/file2’ /dest
rsync -av --rsh=ssh host::module /dest
rsync -av -e quot;ssh -l ssh-userquot; rsync-
            user@host::module /dest
Manuel `EndelWar` Dalla Lana   Rsync   29 nov 2007   10
Graphic User Interface/1 - GTK

Grsync
http://www.opbyte.it/grsync/
Ultima release 0.6.1 27/11/07




Manuel `EndelWar` Dalla Lana    Rsync   29 nov 2007   11
Graphic User Interface/2 - QT

Qsync
http://transamrit.net/projects/qsync/ Ultima release 0.3 28/12/2005




Manuel `EndelWar` Dalla Lana     Rsync                    29 nov 2007   12
3.0: aria di novità
A breve sarà rilasciata la versione 3.0 di rsync
   new incremental-recursion algorithm

   Saved memory in the non-incremental-recursion (21-29 bytes per file)

   default --delete algorithm is now --delete-during

   Rsync now allows multiple remote-source args to be specified (rsync -av
   host:path/{f1,f2} .)

   Added the --acls (-A) and --xattrs (-X) option to preserve Access Control Lists and
   extended attributes

   Added the --iconv option, which allows rsync to convert filenames from one
   character-set to another during the transfer

   Added the --skip-compress=LIST option to override of the default list of file suffixes
   that will not be compressed when using --compress

   Protocol 30 now uses MD5 checksums instead of MD4

   Changed the --append option to not checksum the existing data in the destination
   file, which speeds up file appending.

   Added the --append-verify option, which works like the older --append option
   (verifying the existing data in the destination file).
Manuel `EndelWar` Dalla Lana               Rsync                           29 nov 2007      13
Grazie per l'attenzione




         Su! Sotto con le domande!




Manuel `EndelWar` Dalla Lana   Rsync   29 nov 2007   14

Mais conteúdo relacionado

Mais procurados

Introduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleIntroduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleMajong DevJfu
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linuxGiuseppe Piccolo
 
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalRiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalAlessandro Carichini
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Basefosk
 
Sistema operativo Unix e Linux
Sistema operativo Unix e LinuxSistema operativo Unix e Linux
Sistema operativo Unix e LinuxGiulia Shkreli
 
Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberryMarco Buttolo
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumateMarco Buttolo
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneFulvio Corno
 
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...Claudio Cardinali
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroupSaverio Menin
 

Mais procurados (19)

Introduzione Alla Uml Mconsole
Introduzione Alla Uml MconsoleIntroduzione Alla Uml Mconsole
Introduzione Alla Uml Mconsole
 
Linux day 2016 la shell in linux
Linux day 2016   la shell in linuxLinux day 2016   la shell in linux
Linux day 2016 la shell in linux
 
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & TerminalRiminiLUG. Mini Corso su Linux p2: Networking & Terminal
RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
 
Linux shell
Linux shellLinux shell
Linux shell
 
Shell unix
Shell unixShell unix
Shell unix
 
Open@BNCF
Open@BNCFOpen@BNCF
Open@BNCF
 
Introduzione ros
Introduzione rosIntroduzione ros
Introduzione ros
 
Corso Bash
Corso BashCorso Bash
Corso Bash
 
Protocollo ssh
Protocollo sshProtocollo ssh
Protocollo ssh
 
Compilazione Kernel
Compilazione KernelCompilazione Kernel
Compilazione Kernel
 
Lug Roma3 Corso Linux Base
Lug Roma3   Corso Linux BaseLug Roma3   Corso Linux Base
Lug Roma3 Corso Linux Base
 
Sistema operativo Unix e Linux
Sistema operativo Unix e LinuxSistema operativo Unix e Linux
Sistema operativo Unix e Linux
 
Post gresql su_raspberry
Post gresql su_raspberryPost gresql su_raspberry
Post gresql su_raspberry
 
Installazione ambientepython ubuntumate
Installazione ambientepython ubuntumateInstallazione ambientepython ubuntumate
Installazione ambientepython ubuntumate
 
Linux Kernel, driver e compilazione
Linux Kernel, driver e compilazioneLinux Kernel, driver e compilazione
Linux Kernel, driver e compilazione
 
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
Server di posta aziendale su protocollo IMAP, antispam, antivirus, webmail, g...
 
Socket python
Socket pythonSocket python
Socket python
 
Configurare Samba workgroup
Configurare Samba workgroupConfigurare Samba workgroup
Configurare Samba workgroup
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 

Destaque

Destaque (8)

Strategy Map
Strategy MapStrategy Map
Strategy Map
 
Cenizas VolcàN ChaitèN 02[1].05.08
Cenizas VolcàN ChaitèN 02[1].05.08Cenizas VolcàN ChaitèN 02[1].05.08
Cenizas VolcàN ChaitèN 02[1].05.08
 
Carols lesson plan
Carols lesson planCarols lesson plan
Carols lesson plan
 
Linux@Ipsia08 - Distribuzioni Linux
Linux@Ipsia08 - Distribuzioni LinuxLinux@Ipsia08 - Distribuzioni Linux
Linux@Ipsia08 - Distribuzioni Linux
 
Analisa Kursi Kuno
Analisa Kursi KunoAnalisa Kursi Kuno
Analisa Kursi Kuno
 
Tecno 4 T
Tecno 4 TTecno 4 T
Tecno 4 T
 
Ενδοσχολική βία
Ενδοσχολική βίαΕνδοσχολική βία
Ενδοσχολική βία
 
Eu_ontotita
Eu_ontotitaEu_ontotita
Eu_ontotita
 

Semelhante a MontelLUG - Conferenze 2007 - Introduzione a RSync

Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Joaquim Hangalo
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Marco Chiesi
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominioSaverio Menin
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreDario Mazza
 
Drupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupalDay
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenClaudio Cardinali
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziareFrancesco Tucci
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...Marco Ferrigno
 
Hardening
HardeningHardening
HardeningNaLUG
 
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBAIntegrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBAClaudio Cardinali
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriFulvio Corno
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberryOrazio Sarno
 

Semelhante a MontelLUG - Conferenze 2007 - Introduzione a RSync (20)

GNU Linux introduction
GNU Linux introductionGNU Linux introduction
GNU Linux introduction
 
Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1Sistema Operativo - LInux - Modulo 2.1
Sistema Operativo - LInux - Modulo 2.1
 
Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014Installazione di koha_su_debian_v2_0_20_12_2014
Installazione di koha_su_debian_v2_0_20_12_2014
 
Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018
 
Server linux samba in un dominio
Server linux samba in un dominioServer linux samba in un dominio
Server linux samba in un dominio
 
Linux shell
Linux shellLinux shell
Linux shell
 
Lezione tre
Lezione treLezione tre
Lezione tre
 
Linux & Open Source : Lezione Tre
Linux & Open Source : Lezione TreLinux & Open Source : Lezione Tre
Linux & Open Source : Lezione Tre
 
Clonare mac os x
Clonare mac os xClonare mac os x
Clonare mac os x
 
Drupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e Drupal
 
Infrastructure as Data
Infrastructure as DataInfrastructure as Data
Infrastructure as Data
 
Command Terminal Linux
Command Terminal LinuxCommand Terminal Linux
Command Terminal Linux
 
Virtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e XenVirtualizzazione con Gnu/Linux e Xen
Virtualizzazione con Gnu/Linux e Xen
 
Bash intro
Bash introBash intro
Bash intro
 
Linux Day Torino 2015 applicazioni per iniziare
Linux Day Torino 2015   applicazioni per iniziareLinux Day Torino 2015   applicazioni per iniziare
Linux Day Torino 2015 applicazioni per iniziare
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...
 
Hardening
HardeningHardening
Hardening
 
Integrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBAIntegrazione di rete Windows Linux con SAMBA
Integrazione di rete Windows Linux con SAMBA
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
Sicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberrySicurezza e protezione dati su raspberry
Sicurezza e protezione dati su raspberry
 

Mais de Manuel Dalla Lana

Linux@Ipsia08 - Introduzione al Software Libero
Linux@Ipsia08 - Introduzione al Software LiberoLinux@Ipsia08 - Introduzione al Software Libero
Linux@Ipsia08 - Introduzione al Software LiberoManuel Dalla Lana
 
Linux@Ipsia08 - Introduzione al MontelLUG
Linux@Ipsia08 - Introduzione al MontelLUGLinux@Ipsia08 - Introduzione al MontelLUG
Linux@Ipsia08 - Introduzione al MontelLUGManuel Dalla Lana
 
LinuxDay 2007 - Introduzione al MontelLUG
LinuxDay 2007 - Introduzione al MontelLUGLinuxDay 2007 - Introduzione al MontelLUG
LinuxDay 2007 - Introduzione al MontelLUGManuel Dalla Lana
 
Linuxday 2007 - Assistenza Post Vendita
Linuxday 2007 - Assistenza Post VenditaLinuxday 2007 - Assistenza Post Vendita
Linuxday 2007 - Assistenza Post VenditaManuel Dalla Lana
 
LinuxArena 2007 - Introduzione alle Distribuzioni Linux
LinuxArena 2007 - Introduzione alle Distribuzioni LinuxLinuxArena 2007 - Introduzione alle Distribuzioni Linux
LinuxArena 2007 - Introduzione alle Distribuzioni LinuxManuel Dalla Lana
 

Mais de Manuel Dalla Lana (8)

Linux Accessibile
Linux AccessibileLinux Accessibile
Linux Accessibile
 
Introduzione ai Webquest
Introduzione ai WebquestIntroduzione ai Webquest
Introduzione ai Webquest
 
Linux@Ipsia08 - Introduzione al Software Libero
Linux@Ipsia08 - Introduzione al Software LiberoLinux@Ipsia08 - Introduzione al Software Libero
Linux@Ipsia08 - Introduzione al Software Libero
 
Linux@Ipsia08 - Introduzione al MontelLUG
Linux@Ipsia08 - Introduzione al MontelLUGLinux@Ipsia08 - Introduzione al MontelLUG
Linux@Ipsia08 - Introduzione al MontelLUG
 
Linux Accessibile
Linux AccessibileLinux Accessibile
Linux Accessibile
 
LinuxDay 2007 - Introduzione al MontelLUG
LinuxDay 2007 - Introduzione al MontelLUGLinuxDay 2007 - Introduzione al MontelLUG
LinuxDay 2007 - Introduzione al MontelLUG
 
Linuxday 2007 - Assistenza Post Vendita
Linuxday 2007 - Assistenza Post VenditaLinuxday 2007 - Assistenza Post Vendita
Linuxday 2007 - Assistenza Post Vendita
 
LinuxArena 2007 - Introduzione alle Distribuzioni Linux
LinuxArena 2007 - Introduzione alle Distribuzioni LinuxLinuxArena 2007 - Introduzione alle Distribuzioni Linux
LinuxArena 2007 - Introduzione alle Distribuzioni Linux
 

MontelLUG - Conferenze 2007 - Introduzione a RSync

  • 1. Introduzione a Rsync Trasferimento file ottimizzato Montebelluna 29 novembre 2007 Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 1
  • 2. Licenza d'utilizzo Copyright © 2007, Manuel Dalla Lana Questo documento viene rilasciato secondo i termini della licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported (http://creativecommons.org). L’utente è libero di: riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire, recitare e modificare quest'opera alle seguenti condizioni: Attribuzione Deve riconoscere la paternità dell’opera all’autore originario. Non commerciale Non può utilizzare quest’opera per scopi commerciali. Condividi allo stesso modo Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa. ●Ogni volta che usi o distribuisci quest'opera, devi farlo secondo i termini di questa licenza, che va comunicata con chiarezza. ●In ogni caso, puoi concordare col titolare dei diritti utilizzi di quest'opera non consentiti da questa licenza. Questa licenza lascia impregiudicati i diritti morali. ● Questo è un riassunto in lingua corrente dei concetti chiave della licenza completa (codice legale), reperibile sul sito Internet http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 2
  • 3. Cos'è Rsync? Rsync (Remote Sync) è uno strumento estremamente versatile e veloce per copiare file in locale e da/verso sistemi remoti. Rsync è stato creato da Andrew Tridgell (autore anche di Samba) e Paul Mackerras, attualmente mantenuto da Wayne Davison (autore di trn) ed è rilasciato con licenza GNU GPL. Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 3
  • 4. Installazione Sorgente $ wget http://rsync.samba.org/ftp/rsync/rsync- 2.6.9.tar.gz $ tar zxvf rsync-2.6.9.tar.gz $ cd rsync-2.6.9/ $ ./configure $ make # make install Debian e derivate # apt-get install rsync Red Hat Enterprise Linux (RHEL) # up2date rsync CentOS/Fedora Core Linux # yum install rsync Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 4
  • 5. Come funziona? Rsync sincronizza file e directory da una locazione all'altra minimizzando la quantità di dati da spostare grazie all'algoritmo rsync che utilizza (quando possibile) il delta encoding, spostando quindi solo ciò che differisce tra due versioni di un file. Inoltre utilizza una sola trasmissione di dati per ogni direzione di comunicazione (upload e download) Altra caratteristiche utilizzabili sono la compressione dei dati e la ricorsione nelle directory. Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 5
  • 6. L'algoritmo Ricevente: spezza i file in blocchi contigui di dimensione S per ciascuno dei blocchi calcola 2 checksum (MD4 e uno simile a adler-32) spedisce al mittente i checksum Mittente: calcola il checksum per tutti i possibili blocchi di lunghezza S del file compara i suoi checksum ciclici con quelli inviati dal ricevente, per verificare se ci sono delle corrispondenze Se ci sono, viene calcolato e controllato anche il corrispondente hash MD4 il mittente invia al ricevente solo le parti del file per cui non sono stati trovati blocchi corrispondenti, insieme a istruzioni su come ricomporre i blocchi già presenti e le parti nuove in modo da ottenere una copia esatta del file originale Risultato: Se le due versioni del file hanno molte sezioni in comune, com'è spesso il caso quando si tratta di versioni diverse dello stesso file, rsync può effettuare la sincronizzazione trasmettendo molti pochi dati rispetto alla dimensione dell'intero file. Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 6
  • 7. Principali opzioni del comando -v : verbose (-vv more verbose) -a : archive mode; same as -rlptgoD (no -H, -A) -r : recurse into directories -z : compress file data --delete : delete files that don’t exist on sender (system) -e “ssh options” : specify the remote shell to use Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 7
  • 8. Sicurezza prima di tutto! Utilizzare SEMPRE ssh quando si utilizza rsync attraverso una rete non fidata (LAN, Wifi, Internet,...) Operazioni semplificate con ssh passwordless local$ ssh-keygen -t dsa local$ scp ~/.ssh/id_dsa.pub remote local$ ssh username@remote remote$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys remote$ chmod 644 ~/.ssh/authorized_keys remote$ exit local$ ssh username@remote Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 8
  • 9. Il demone rsyncd rsync può essere demonizzato, e lavorerà (di default) sulla porta TCP 873 /etc/rsyncd.conf motd file = /etc/rsyncd.motd log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock [simple_path_name] path = /rsync_files_here use chroot = yes comment = My Very Own Rsync Server uid = nobody gid = nobody read only = no list = yes auth users = username secrets file = /etc/rsyncd.secrets /etc/rsyncd.secrets endelwar:miapassword Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 9
  • 10. Esempi di utilizzo rsync -t *.c foo:src/ rsync -avz foo:src/bar /data/tmp rsync -avz foo:src/bar/ /data/tmp rsync -av host::src /dest rsync somehost.mydomain.com:: rsync host::’modname/dir1/file1 modname/dir2/file2’ /dest rsync -av --rsh=ssh host::module /dest rsync -av -e quot;ssh -l ssh-userquot; rsync- user@host::module /dest Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 10
  • 11. Graphic User Interface/1 - GTK Grsync http://www.opbyte.it/grsync/ Ultima release 0.6.1 27/11/07 Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 11
  • 12. Graphic User Interface/2 - QT Qsync http://transamrit.net/projects/qsync/ Ultima release 0.3 28/12/2005 Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 12
  • 13. 3.0: aria di novità A breve sarà rilasciata la versione 3.0 di rsync new incremental-recursion algorithm Saved memory in the non-incremental-recursion (21-29 bytes per file) default --delete algorithm is now --delete-during Rsync now allows multiple remote-source args to be specified (rsync -av host:path/{f1,f2} .) Added the --acls (-A) and --xattrs (-X) option to preserve Access Control Lists and extended attributes Added the --iconv option, which allows rsync to convert filenames from one character-set to another during the transfer Added the --skip-compress=LIST option to override of the default list of file suffixes that will not be compressed when using --compress Protocol 30 now uses MD5 checksums instead of MD4 Changed the --append option to not checksum the existing data in the destination file, which speeds up file appending. Added the --append-verify option, which works like the older --append option (verifying the existing data in the destination file). Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 13
  • 14. Grazie per l'attenzione Su! Sotto con le domande! Manuel `EndelWar` Dalla Lana Rsync 29 nov 2007 14