Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: planetisti - 28.05.08 - klo:22.33

Otsikko: rsync ja vfat ongelma [ratkaistu]
Kirjoitti: planetisti - 28.05.08 - klo:22.33
Vfat on ilmeisesti ongelmallinen tiedostojärjestelmä, mutta tärkeä jos haluaa muistitikkunsa/kannettavan kiintolevynsä toimivan kaikissa tietokoneissa. Haluan ohjelman, jolla tehdä backup. Sen tulisi osata siirtää vain muuttuneet tiedostot. No, rsync on ilmeisesti todella kätevä, joten sitä tässä yritetään.
Täällä (http://www.osnews.com/story/9681&page=3) on selostettu niitä ongelmia, mitä tulee käytettäessä (vaikkapa) ext3 ja vfat -tiedostojärjestelmiä yhtäaikaa rsyncin kanssa. Tein fstabiin tarvittavat tuon sivun ehdottamat muutokset:

Koodia: [Valitse]
/dev/sdb1 /media/usb vfat rw,nosuid,nodev,nodiratime,uid=1000,gid=100,fmask=0002 ,dmask=0002,shortname=mixed,user,utf8,noexec 0 0

Seuraavanlainen ongelma tuli vastaani. Teen testikansion "testi". Teen sinne kaksi tiedostoa:
Koodia: [Valitse]
touch testi/jotain
touch testi/uusi_testaus

Sitten mounttaan muistitikun (sdb1) ja kokeilen rsyncata:
Koodia: [Valitse]
rsync -tvr testi/ /media/usb/
building file list ... done
./
jotain
uusi_testaus

sent 168 bytes  received 70 bytes  476.00 bytes/sec
total size is 0  speedup is 0.00

Umountataan tikku ja mountataan takaisin. Suoritetaan edellinen komento uudestaan:

Koodia: [Valitse]
building file list ... done
./
jotain

sent 126 bytes  received 48 bytes  348.00 bytes/sec
total size is 0  speedup is 0.00

Eli miksi rsync osaa olla kopioimatta tiedoston "uusi_testaus" mutta tiedosto "jotain" tulee kopioitua, vaikkei pitäisi?

EDIT: Täältä poimittua: (http://www.samba.org/rsync/FAQ.html)
Lainaus
Another common cause involves sending files to an Microsoft filesystem: if the file's modified time is an odd value but the receiving filesystem can only store even values, then rsync will re-transfer too many files. You can avoid this by specifying the --modify-window=1 option.
Eli sopiva komento onkin
Koodia: [Valitse]
rsync -tvr --modify-window=1 testi/ /media/usb/
Ihmettelin suuresti, kun tekemäni testitiedostot alkoivat käyttäytyä ihan randomisti välillä kopioituen ja välillä ei. Se johtuikin sitten tiedoston muokkauskellonajasta  :o