Kirjoittaja Aihe: rsync ubuntusta windowsiin, ääkköset muuttuvat  (Luettu 2887 kertaa)

Nocando

  • Käyttäjä
  • Viestejä: 48
    • Profiili
Rakentelin suhteellisen monimutkaisen backup-scriptin. Uusien mp3-tiedostojen tultua tai niiden tietojen muututtua se käynnistää windows koneen ja suorittaa rsyncillä kopioinnin. Ongelmaksi tuli ääkköset.

Komento on
Koodia: [Valitse]
rsync -ruv -del /lähde/kansio /kohde/kansio
Ongelma on se että kun esimerkiksi Mörkö.mp3 kopioituu windows-koneelle, se näkyy nimellä M?rk?.mp3. Kokeilin lisätä komentoon
Koodia: [Valitse]
--iconv=ISO-8859-1,UTF-8, vaihdellen noita merkistöjä, mutta lopputuloksena oli vain useampaa variaatiota biisistä.

Linuxilla katsottuna ilman iconvia kopioidut tiedostot näyttäisivät näkyvän oikein, mutta windowsilla päin seiniä. Ongelma on sinällään pieni, jos linuxilla takaisin kopioidessa nimet näkyvät jälleen oikein.

Windows-koneet näkevät nimet ääkkösineen oikein sambajaon läpi tarkastellessa.

Nauruhermojen vajaatoimintaan on nyt lääke - Pikkupaprika.com - Internetistä ilman reseptiä.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: rsync ubuntusta windowsiin, ääkköset muuttuvat
« Vastaus #1 : 22.02.10 - klo:22.46 »
Tuttu ongelma sinänsä. Pitäisikö tämä (sinunkin) tapauksessasi mountata tietyllä tavalla, esim. näin:

sudo mount -t smbfs -o codepage=cp850,iocharset=utf8,username=joku,password=joku //192.168.0.1/music /mnt/server_music

Edellisessä tämä iocharset:in mukaanotto lienee se avainkysymys (laitoin koko komennon vain selvyyden vuoksi).

Tähän kuitenkin pari lisäystä:
- codepage:sta se nykyään valittaa, että se on tarpeeton, mutta ei ole haitannut
- käytän tätä nykyään kylläkin ubuntuserverillä, mutta mielestäni tämä asia oli juuri näin Windows-serverilläkin
- teen rsyncin toisin päin kuin sinä, eli kopioin serveriltä itselleni, mutta ei kai sekään mitään tässä muuta

Luulisin, että edellämainitulla mount-tavalla toimii sinullakin.

Miten muutoin olet ratkaissut sen, että edellinen tapa (siis rsync -ruv) ei (kai) tuota täydellistä "mirror copyä". Tarkoitan sitä, että valinta "-u" jättää päivittämättä tiedostot jotka ovat kohteessa muuttuneet uudemmiksi. Tämähän tarkoittaa sitä, että jos kohteessa, esim. vahingossa aukaisee kopion, niin että sen päiväys muuttuu, niin päivitys ei sitten tapahdukaan (välttämättä) vaikka lähteessä olisi tiedosto päivitetty (jos päivitys on tapahtunut ennen kuin kohteessa tehtiin tämä tahaton tiedoston päivämäärän muutos).

Ainakin itse olen hieman aristanut tätä -u :n selitystä - mieluiten tekisin täydellisen "mirror copy:n". Jolla tarkoitan sitä, että kaikki mitä kohteessa on erilailla kuin mitä lähteessa, päivitetään.

Yksi ratkaisu tähän tietysti voisi olla se, että teetkin tämän Windows-puolella robocopyllä, jolloin asiaan ei varmaankaan liittyisi ongelmaa (en ainakaan ole huomannut moisia ongelmia). Tosin sama tulisi sitten vastaan taas kun kopioisit tiedostot takaisin Ubuntuun. Robocopyssä on muuten /mir -valinta, joka tekee juuri sitä mitä haluaa (tosin tarkkana senkin kanssa pitää olla silloin kun käyttää exclude ehtoja, koska ne vaikuttavat myös siihen mitä peilataan = excludatuissa ei täydellisesti peilatakaan).
« Viimeksi muokattu: 22.02.10 - klo:22.49 kirjoittanut Ganymedes »

Nocando

  • Käyttäjä
  • Viestejä: 48
    • Profiili
Vs: rsync ubuntusta windowsiin, ääkköset muuttuvat
« Vastaus #2 : 15.03.10 - klo:15.25 »
Tuttu ongelma sinänsä. Pitäisikö tämä (sinunkin) tapauksessasi mountata tietyllä tavalla, esim. näin:

sudo mount -t smbfs -o codepage=cp850,iocharset=utf8,username=joku,password=joku //192.168.0.1/music /mnt/server_music

Kiitän. Tuo toimii. Herjan tosiaan heittää, mutta ainakin testikopiointi meni.

Lainaus
Miten muutoin olet ratkaissut sen, että edellinen tapa (siis rsync -ruv) ei (kai) tuota täydellistä "mirror copyä". Tarkoitan sitä, että valinta "-u" jättää päivittämättä tiedostot jotka ovat kohteessa muuttuneet uudemmiksi. Tämähän tarkoittaa sitä, että jos kohteessa, esim. vahingossa aukaisee kopion, niin että sen päiväys muuttuu, niin päivitys ei sitten tapahdukaan (välttämättä) vaikka lähteessä olisi tiedosto päivitetty (jos päivitys on tapahtunut ennen kuin kohteessa tehtiin tämä tahaton tiedoston päivämäärän muutos).

Eikai tiedoston päivämäärä siitä muutu että sitä katsotaan/kuunnellaan? Kohdekoneella ei tosiaan ole tarkoitus tiedostoja käpistellä lainkaan, vielä jos määrittelee kansioon vain luku oikeudet muille kuin tunnukselle jolla se kopiointi suoritetaan.

[/quote]

Yksi ratkaisu tähän tietysti voisi olla se, että teetkin tämän Windows-puolella robocopyllä, jolloin asiaan ei varmaankaan liittyisi ongelmaa (en ainakaan ole huomannut moisia ongelmia). Tosin sama tulisi sitten vastaan taas kun kopioisit tiedostot takaisin Ubuntuun.
[/quote]

Yhtenä vaihtoehtona mietin tuotakin, mutta paljon selkeämpää olisi kun hoituisi yhden scriptin kautta koko roska.
Katsotaan nyt kuinka tuo lähtee toimimaan, periaatteessa kyseessä on "prototyyppi", eli jos homma toimii niin laajenee sitten backupoimaan jotain tärkeämpiä tiedostoja myös.
Nauruhermojen vajaatoimintaan on nyt lääke - Pikkupaprika.com - Internetistä ilman reseptiä.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: rsync ubuntusta windowsiin, ääkköset muuttuvat
« Vastaus #3 : 15.03.10 - klo:17.05 »
Joo, kokeilin tätä itsekin ja jos kohteessa oikeasti muutetaan tiedostoa, niin kyllä sen yli kuitenkin kirjoitetaan näillä vivuilla. Näin ainakin nykyisillä versioilla. Tuon "-u:n" selitys oli vain hermostuttavasti jotakin muuta, tai ei ainakaan yksiselitteinen. Joten luulisin, että toimii kuitenkin. Muuttaa kai se "touch":kin jonkun päivämäärän, mutta toivottavasti ei sellaista mitä "-u" -vertaa.

Yleensä käytän muodossa:
rsync -urv --delete-before (muutoinhan saattaa tila loppua kesken kopioinnin)

Joten ei kai sitä robocopyä oikeasti mihinkään tarvita ...