Sincronizzazione di files con rsync
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.