Sincronizzazione di files con rsync

From RVM Wiki
Jump to navigation Jump to search

Si vuole creare un servizio di sincronizzazione files da un client ad un server. Dal client si lanacia un collegamento ad un file .cmd e si sincronizza il contenuto di una directory locale con una remota su un server.

Si utilizza il servizio rsync, e nel caso specifico, il server sarà Windows 2000 ed il client Windows XP

Installazione Cygwin su Server

Installare cygwin sul server, avendo cura di selezionare i componenti rsync e cygrunsrv

Installazione servizio rsyncd

Da prompt comandi, installare rsync come servizio:

cygrunsrv.exe -I "Rsyncd" -p /cygdrive/c/cygwin/bin/rsync.exe -a "--config=/cygdrive/c/cygwin/etc/rsyncd.conf --daemon --no-detach" -f "Rsync daemon service"

Configurazione Rsyncd

Creare il file C:\Cygwin\etc\rsyncd.conf

cat > /etc/rsyncd.conf <<EOFile
use chroot = false
strict modes = false

[lavori]
    path = /cygdrive/e/Lavori
    comment = Lavori Pubblistil
    read only = true
EOFile

E' possibile aggiungere più sezioni per ogni directory che si vuole rendere disponibile.

Questa è la configurazione più semplice, e NON NECESSITA DI AUTENTICAZIONE. Qualsiasi client rsync può prelevare quei files.

Test Rsyncd

Da promp del server avviare il servizio:

net start rsyncd

Testare l'accessibilà:

c:\cygwin\bin\rsync rsync://127.0.0.1

lavori          Lavori Pubblistil

Verificare che i files resi disponibili siano quelli giusti:

c:\cygwin\bin\rsync rsync://127.0.0.1/lavori

dr-xr-xr-x        4096 2005/10/01 13:04:02 .
-rwxrwxrwx        5120 2005/09/29 14:10:18 Commessa consuntivo materiali3gg.xls
-rwxrwxrwx       10752 2005/09/29 14:10:25 TabRilevazioni3gg.xls
-rwxrwxrwx       11956 2005/09/29 18:59:12 cabiate.xls
drwxrwxrwx        4096 2005/10/01 13:13:05 CLIENTI
drwxrwxrwx        4096 2005/10/01 13:04:01 Documenti
drwxrwxrwx        4096 2005/10/01 13:03:11 FILES esclusi clienti
drwxrwxrwx        4096 2005/10/01 13:01:51 Files_Posta_Elettronica
drwxrwxrwx           0 2005/10/01 13:01:50 Foto Lavori
drwxrwxrwx           0 2005/10/01 13:01:17 Immagini
drwxrwxrwx       69632 2005/10/01 13:01:17 Lavori Fresa
drwxrwxrwx           0 2005/10/01 13:01:05 My Digital Editions
drwxrwxrwx           0 2005/10/01 13:01:05 My Pictures
drwxrwxrwx           0 2005/10/01 13:01:04 NUTZ
drwxrwxrwx           0 2005/10/01 13:00:57 Plotmanager
drwxrwxrwx           0 2005/10/01 13:00:57 ScheduleOCR Input
drwxrwxrwx           0 2005/10/01 13:00:57 ScheduleOCR Output
drwxrwxrwx       40960 2005/10/03 12:35:20 TAGLI PER PLOTTER
drwxrwxrwx        4096 2005/10/03 08:37:21 TEMP.LAVORI
drwxrwxrwx           0 2005/10/01 18:02:39 Tmp

Installazione Cygwin sul Client

Installare cygwin sul client. E' sufficiente installare il sistema base e rsync. NON è necessario cygrunsrv.

Eseguire da prompt gli stessi test come al punto precedente, utilizzando l'indirizzo ip del server.

Creazione dle file batch di sincronizzazione

Creare il file batch sincronizza_lavori.cmd

@echo off
echo Inizio Sincronizazione
c:\cygwin\bin\rsync -rltgoDq --progress --stats rsync://192.168.6.200/lavori/ C:\Documenti\Lavori\
echo Fine Sincroniazione
pause

Test manuale

Lanciare lo stesso comando precedente, ma con lo switch -v e senza -q

c:\cygwin\bin\rsync -rltgoDv --progress --stats rsync://192.168.6.200/lavori/ C:\Documenti\Lavori\

Verrà ricevuta la lista dei files, e poi partirà la sincronizazione.

Al termine si avrà anche una statistica dei files copiati.

Provare ad aggiungere/modificare dei files sul server e controllare che le modifiche si sincronizzino.

Qualora si vogliano cancellari i files locali non più presenti sul server, basta aggiungere l'opzione --delete

Esecuzione Sincronizazione

Lanciare il file batch ed attendere il termine.

Rsync for Windows