A tutto download: rsync

Forum dedicato agli studenti del corso linux e a tutti gli amanti del pinguino!

Moderatore: matteo

A tutto download: rsync

Messaggioda matteo » ven giu 08, 2007 12:09 am

Quante volte vi sarà capitato di dover scaricare directory e sottodirectory da un sito, per esempio di una distribuzione -current che quindi non ha iso di cd rilasciate, e non avere a disposizione un tool grafico decente,
oppure tenere allineato il vostro sito in cui lo sviluppo lo fate sul pc, ma poi è un casino inviare solamente i file modificati per non parlare di cancellare quelli ormai inutili...
A tutto questo viene in aiuto rsync
quì mi occuperò della solo della parte client. Al server ci penserò un'altra volta... se ne avrò il tempo

cmq.

rsync sta per Remote SYNC, sicronizzazione di file remoti con quelli locali o viceversa.

E' molto comune l'uso per costruire mirror.
La caratteristica di un mirror è che se il sito originale aggiorna un file, non solo quel file deve essere messo a disposizione dal mirror, ma deve anche essere cancellato quello vecchio.

se volete sapere cosa mette a disposizione per il download un server rsync:
Codice: Seleziona tutto
$ rsync rsync://rm.mirror.garr.it/
3com
CRAN
Courier
RedHat
Slackware
Squid-Book
Sunfreeware
...

Codice: Seleziona tutto
$ rsync rsync://rm.mirror.garr.it/Slackware/
drwxr-xr-x         384 2006/10/03 04:13:31 .
lrwxrwxrwx          14 2007/01/31 17:25:34 slackware
lrwxrwxrwx          16 2007/01/31 17:20:52 slackware_source
drwxr-xr-x         912 2007/05/25 23:00:55 slackware-10.0
drwxr-xr-x         912 2007/05/25 23:02:17 slackware-10.1
drwxr-xr-x         944 2007/06/02 02:57:39 slackware-10.2
drwxr-xr-x        1120 2006/10/02 11:18:24 slackware-11.0-iso
drwxr-xr-x         984 2007/06/02 04:54:37 slackware-11.0
drwxr-xr-x         912 2007/05/16 23:23:52 slackware-9.1
drwxr-xr-x         840 2007/06/02 03:06:16 slackware-current
drwxr-xr-x         256 2007/05/31 04:07:36 unsupported

per scaricare directory e sottodirectory:
Codice: Seleziona tutto
$ mkdir /tmp/slackware-current/
$ rsync -av rsync://rm.mirror.garr.it/Slackware/slackware-current/ /tmp/slackware-current
receiving file list ... done
./
BOOTING.TXT
CHANGES_AND_HINTS.TXT
CHECKSUMS.md5
CHECKSUMS.md5.asc
COPYING
COPYRIGHT.TXT
..

Se dopo che ha finito lo rilancio, lui caricherà solamente i nuovi file.
Simuliamo che un file sia vecchio (cambiamo la data al file)
Codice: Seleziona tutto
$ touch -t 01010101 /tmp/slackware-current/CHANGES_AND_HINTS.TXT
$ rsync -av rsync://rm.mirror.garr.it/Slackware/slackware-current/ /tmp/slackware-current
receiving file list ... done
./
CHANGES_AND_HINTS.TXT
CRYPTO_NOTICE.TXT
CURRENT.WARNING
ChangeLog.txt
FAQ.TXT
..

Se aggiungo un file che lui non si ritrova sul server, se aggiungo il --del lui lo elimina:
creo un file
Codice: Seleziona tutto
$ touch /tmp/slackware-current/isolinux/pippo
$ ls /tmp/slackware-current/isolinux/
README.TXT        f2.txt      iso.sort      isolinux.cfg  network.dsk  [b]pippo[/b]   setpkg
README_SPLIT.TXT  initrd.img  isolinux.bin  message.txt   pcmcia.dsk   sbootmgr

lancio rsync
Codice: Seleziona tutto
$ rsync -av --del rsync://rm.mirror.garr.it/Slackware/slackware-current/isolinux /tmp/slackware-current/
receiving file list ... done
deleting isolinux/pippo
isolinux/
$ ls /tmp/slackware-current/isolinux/
README.TXT        f2.txt      iso.sort      isolinux.cfg  network.dsk  sbootmgr
README_SPLIT.TXT  initrd.img  isolinux.bin  message.txt   pcmcia.dsk   setpkg

e pippo è sparito.


comodo no?

I parametri di rsync sono tantissimi e li trovate su 'man rsync'
E' molto ben fatto e presenta buoni esempi.

Buon Download a tutti.

Matteo
matteo
 
Messaggi: 327
Iscritto il: ven mar 17, 2006 10:22 am

Torna a Unix, Linux & reti

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

cron