robimassa

Another Subtext Powered Blog
posts - 17, comments - 0, trackbacks - 0

My Links

News

Archives

Utilizzare Rsync per sincronizzare directory Linux e Windows

 

Il demone Rsync nativo in ambiente Unix/Linux, è particolarmente efficace per la sincronizzazione di Filesystem e quindi per mantenere allineati “contenitori” differenti.

Può essere utilizzato per sincronizzare sorgenti Linux verso destinazioni Linux, sorgenti Linux verso destinazioni Windows, sorgenti Windows verso destinazioni Linux, e perché no tra sorgenti e destinazioni Windows, anche se in questo scenario sono disponibili molti altri tool.

Rsync utilizza la porta 873/tcp quindi le sue connessioni sono facilmente identificabili e le regole da definire su un Firewall, ad esempio per la sincronizzazione tra un contenuto in rete interna e la DMZ, relativamente più semplici.

Un ulteriore vantaggio che Rsync offre è che vengono replicati soltanto i file o le parti di questi che effettivamente vengono modificate sulla sorgente, rendendo notevolmente leggero il traffico di rete, si adatta quindi bene a trasferimenti su connessioni geografiche con poca banda disponibile.

Replica Windows –> Linux

In questo scenario è riportata la configurazione per effettuare la replica di un albero di directory a partire da Windows verso un server Linux ( distribuzione Oracle Linux Enterprise 6.x ) Questa distribuzione è di fatto assimilabile ad una Centos o Redhat di pari versione.

la replica viene effettuata con cadenza di 4 ore ed originata dalla macchina Windows pertanto sul server Linux dovrà essere attivo un servizio Rsync in grado di ricevere le repliche e configurato “esponendo” la cartella che ospiterà i dati replicati.

Operazioni da effettuare lato Linux

  • installazione del servizio Rsync su Linux  - yum install rsync
  • attivazione del servizio Rsync a boot time del sistema operativo tramite Xinetd

per poter avviare automaticamente Rsync tramite Xinetd è necessario all’interno della cartella /etc/xinetd.d/ editare il file rsync e modificare la riga disable = yes in disable = no in questo modo il servizio Xinetd all’avvio attiverà il rsync con i parametri definiti nel file stesso

 

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID

}

effettuata questa modifica è necessario editare il file /etc/rsyncd.conf ed impostare le opzioni con cui il servizio Rsync concede l’accesso ed espone le risorse.

 

[root@serverlinux]#vi rsyncd.conf
uid = root
read only = no
use chroot = no
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log

[DESTINAZIONE_REPLICA]
read only = no
path = /CARTELLA_DESTINAZIONE_REPLICA
hosts allow = a.b.c.d

in questo file si dovrà dichiarare tra [] il nome della risorsa a cui riferirsi quando verrà inviata la replica, il path della risorsa, le modalità con cui viene consentito l’accesso, gli hosts che possono utilizzarla, il log etc.

 

Operazioni da effettuare lato Windows

  • Recuperare ed installare i software Rsync per windows qui dove sono disponibili due versioni; free e commerciale
  • Installare il software sull’host windows ( per il caso descritto non è necessario installarlo come servizio )
  • creare un file batch strutturato come segue 
  • rsync -vr --delete-after /cygdrive/c/ARCHIVIO_SORGENTE utente@server::DESTINAZIONE_REPLICA

modifica dei permessi

le opzioni utilizzate nel comando Rsync sono le seguenti

  • -v log completo
  • -r ricorsione nelle sottodirectory
  • --delete-after questa opzione cancella i files non più necessari sulla destinazione dopo aver fatto la sincronizzazione, di default vengono cancellati durante la sincronizzazione
  • /cygdrive/c/ARCHIVIO_SORGENTE utilizza un percorso “linux like”  su ambienti Windows tramite Cygwin
  • utente@server::CARTELLA_DESTINAZIONE_REPLICA utente di accesso al server di destinazione seguito dal riferimento alla risorsa utilizzata da Rsync sulla destinazione per archiviare il files.

 

Tramite il task scheduler di windows, attivare il batch creato per eseguire la replica con la frequenza desiderata della cartella, dal server windows al server linux.

 

Riferimenti:

http://rsync.samba.org/

una sezione interessante per alcuni esempi proposti

http://rsync.samba.org/examples.html

Rsyncd per ambiente Windows 

https://www.itefix.no/i2/cwrsync-get

Print | posted on Friday, May 31, 2013 11:38 AM |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 4 and 3 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET