Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Tomin - 26.02.08 - klo:18.26

Otsikko: Saako muistitikun sisällön jotenkin synkronoitua koneelle? [RATKAISTU]
Kirjoitti: Tomin - 26.02.08 - klo:18.26
Miten voisin synkronoida muistitikun sisällön automaattisesti koneelle? Siis olisi kansio johon tulisi samat tiedostot (ja häviäisi poistettaessa) kuin muistitikulle aina kun se liitetään.
Tuon voi varmaankin rsync:illä tehdä, mutta en tiedä miten.

Plussaa olisi jos voisi tallentaa siihen kansioon koneella vaikkei tikku olisi kiinni ja ne tiedostot kopioituisivat tikulle kun se kytketään. (tämä ei ole välttämätöntä)

Sen pitäisi sitten toimia vain sen tietyn tikun kanssa.

EDIT0: Täällä on ainakin jotakin: http://ubuntuforums.org/showthread.php?p=4393212
Mutta en oikein tajua sitä... ;D

EDIT1: Unison ratkaisi pulman! (lisätty [RATKAISTU] otsikkoon)
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: peran - 26.02.08 - klo:18.33
Purkkasysteemi tulee mieleen. Tekee kronille scriptin, joka pollaa /media-kansiota (minuutin tai 10 minuutin välein). Jos /media-kansiossa on kansioita, tutkii löytyykö ko. kansioista id-tiedosto tai voihan sen halutun tikun määritellä kovalevynimelläkin.

Kun havaitaan oikealla id:llä oleva kovalevy, niin sen jälkeen ajaa rsyncin.

Tämän varmasti osaat itsekin tehdä.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:18.35
Ensimmäisenä tulee mieleen udev-säännöt,
http://forum.ubuntu-fi.org/index.php?topic=11479.0
Tuolla on jonkinlaista infoa, joku joka on asiaan paremmin perehtynyt osaa varmaan neuvoa paremmin.

Edit: lisäinfoa
http://ubuntuforums.org/showthread.php?t=542664
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:18.39
Purkkasysteemi tulee mieleen. Tekee kronille scriptin, joka pollaa /media-kansiota (minuutin tai 10 minuutin välein). Jos /media-kansiossa on kansioita, tutkii löytyykö ko. kansioista id-tiedosto tai voihan sen halutun tikun määritellä kovalevynimelläkin.
Kronille? En löytänyt sitä Ubuntun lähteistä... ::)
Lainaus
Kun havaitaan oikealla id:llä oleva kovalevy, niin sen jälkeen ajaa rsyncin.
Miten saan sen id:een selville? Ja miten hyödynnän sitä?
Lainaus
Tämän varmasti osaat itsekin tehdä.
Enpä olisi niin varma... ::) ...mutta kokeillaan... :)
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: peran - 26.02.08 - klo:18.48
Purkkasysteemi tulee mieleen. Tekee kronille scriptin, joka pollaa /media-kansiota (minuutin tai 10 minuutin välein). Jos /media-kansiossa on kansioita, tutkii löytyykö ko. kansioista id-tiedosto tai voihan sen halutun tikun määritellä kovalevynimelläkin.
Kronille? En löytänyt sitä Ubuntun lähteistä... ::)

Typohan se siinä tietenkin cron:ia tarkoitin.

Lainaus
Kun havaitaan oikealla id:llä oleva kovalevy, niin sen jälkeen ajaa rsyncin.
Miten saan sen id:een selville? Ja miten hyödynnän sitä?

Taitaa olla jokin tapa saada levyn id:kin selville, mutta jota en muista, mutta voit sen toteuttaa esim. tekstitiedostolla, jonka nimeät sellaiseksi, ettei muista tikuista löydy sen nimistä. Siinä sulla on sitten tikun tunniste, jota voit käyttää.

Lainaus
Tämän varmasti osaat itsekin tehdä.
Enpä olisi niin varma... ::) ...mutta kokeillaan... :)

Toi GodDamnDevin:n idea on huomattavasti siistimpi, ja resursseja säästävämpi. Tosin yksin sillä tehtynä taitaa olla automaattisen synkroonin pysyminen olla hankala toteuttaa.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:18.56
Yritän tässä tajuta, että miten tuo GodDamnDevilin lähettämän linkin skripti toimii. Siis se kopioi tiedostot mistä minne (toimiiko molempiin suuntiin)? Tuhoaako se niitä ja milloin?

Se automaattinen ei (kai) ole välttämätön, ehkä käynnistin sille riittäisi...

EDIT0: Senhän pitäisi siis toimia niin, että se korvaa vanhemman tiedoston uudemmalla sekä kiintolevyllä, että muistitikulla. TOIMIIKO SE NIIN? (...sori, että kirjoitin isolla mutta haluaisin, että tuo huomattaisiin...)

EDIT1: Oikeastaan tuo painike voisi olla kätevämpi, että sitä käynnistintä klikattaisiin ja silloin se kopioi kaikki uudet tiedostot  ja ei viellä olemassa olevat molempiin suuntiin ja jos jotain pitää poistaa niin se täytyy poistaa molemmista.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:19.07
Lisäinfoa
http://www.linuxjournal.com/article/9311

Pääasia taitaa kuitenkin olla että, ne tiedot edes syncataan joskus :D
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:19.11
Juu vilkaisin tuota, mutta tuo voinee olla vähän turhan monimutkainen... Jos nyt saisi edes semmoisen joka kopioisi nuo uudet tiedostot tikulle ja koneelle sitä klikatessa.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:19.14
Monimutkainen ???
Hepreaa ;)
Aika hyvin oli selvitetty tuossa viimeisessä linkissä...

Jos vaatimukset pienenevät,
sitten riittää pelkkä rsync käsky.. ja sille käynnistin
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:19.19
No ei tässä muuta mutta kun on hermot kireällä kun surffaus on per***stä pikkuveljen takia joka lataa jotain vi**n WoW Broken Crashiä... (juu juu tiedän kyllä miten se kirjoitetaan oikeasti) [EDIT0: No nyt se lopetti...*phuu...*)

No okei tarkemmin ajateltuna tuo on suht yksinkertainen ja hyödy ovat (ehkä) aika selvät, mutta tekeekö se mitä pyydetään eli korvaa vanhemman tiedoston uudemmalla sekä kiintolevyllä, että muistitikulla ja jos poistan tiedoston niin miten se onnistuu uusiutuuko se taas heti?
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:19.33
No perskutarallaa sentään,
EDIT: Kyseinen viesti ei ole paikkansa pitävä, vielä!!!

Eli scrpiti: /usr/local/bin/sync-thumb.sh
Lainaus
#!/bin/bash
#
# CONFIG SECTION
# Local folder to sync with
SYNC_LOC=/home/jlutes/Desktop/TEST
# Device folder to sync with
SYNC_DEV=TEST
#
# SCRIPT SECTION
# Wait for thumbdrive to settle
sleep 10
# Synchronize thumbdrive with local
rsync -axu /media/disk/${SYNC_DEV}/ ${SYNC_LOC}/
# Synchronize local with thumbdrive
rsync -axu ${SYNC_LOC}/ /media/disk/${SYNC_DEV}/
# Inform user that synchronization is complete.
zenity --title "Thumbdrive Sync" --info --text "File synchronization complete."

ja udev-säännön tekeminen sille tikulle;
Tikku kiinni koneeseen
Koodia: [Valitse]
cat /proc/scsi/usb-storage/*pitäisi tulla samantapaista
Lainaus
  Host scsi5: usb-storage
       Vendor: Unknown
      Product: USB Mass Storage Device
Serial Number: 85a5b1f2c96492
     Protocol: Transparent SCSI
    Transport: Bulk
       Quirks:
Koodia: [Valitse]
dmesgtarkista usb-tikun osoite (sda,sdb,sdc,jne..
Koodia: [Valitse]
udevinfo -a -p $(udevinfo -q path -n /dev/sdXXX)Korvaa XXX tikun osoitteella
Etsi seuraavia rivejä!
Lainaus
BUS=="scsi"
SYSFS{model}=="Flash Voyager  "
SYSFS{vendor}=="Corsair "

tehdään udev-säänto
Koodia: [Valitse]
sudo su
gedit /etc/udev/rules.d/95-backup.rules
Lainaus
BUS="scsi", SYSFS{vendor}=="Corsair ", SYSFS{model}=="Flash Voyager  ",
SYMLINK="corsair_drive", RUN+="/usr/local/bin/sync-thumb.sh
corsair_drive"
Koodia: [Valitse]
exit
Eikun kaikki kokeilemaan, HUOM Tarkistakaa kohdat!
Nuo ovat lainauksia aikaisemmista linkeistä!
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:19.36
Tajusin kyllä miten sitä käytetään, mutta en tajunnut tekeekö se sen mitä haluan oikein! :D
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:19.45
Hetki pieni, kokeillaan :D
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:19.55
Juu no (jos se toimii kuten haluan) kokeilen sitä sitten kun saan sen koneen ja tikun joilla sitä oli tarkotus käyttää (luultavasti joskus tänään)...
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: gdm - 26.02.08 - klo:20.03
Ongelmia, Uudelleen käynnistyksessä herjasi
Lainaus
udevd[2633]: add_to_rules: invalid SUBSYSTEM operation
udevd[2633]: add_to_rules: invalid rule '/etc/udev/rules.d/95-backup.rules:1'
Eli virhe jossain ???

EDIT: virhe tarkennus
Yritetty muokata kyseista tiedostoa monella eri tapaa, ilman ratkaisua,
sama virhe toistuu aina tallentaessa /var/log/syslog :ssa
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:20.08
No sepä hauskaa... ;) Se ei varmaan estä mitään, mutta oliko sinulla tikku kiinni käynnistyksessä? Jos ei niin laita kiinni ja kokeile.
Tutkin oman tikkuni tietoja (tätä ei ole tarkoitus käyttää siihen kunhan vain testailen) ja siellä ei ole rivejä:
Lainaus
BUS=="scsi"
SYSFS{model}=="Flash Voyager  "
SYSFS{vendor}=="Corsair "
Mutta siellä on:
Koodia: [Valitse]
SUBSYSTEMS=="scsi"
ATTRS{model}=="DataTraveler 2.0"
ATTRS{vendor}=="Kingston"
Onkohan nuo vastaavat? Luultavasti minun pitääkirjoittaa tuonne ne tuollaisenaan...

Entä nuo corsair drive kohdat...
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: peran - 26.02.08 - klo:20.13
Tuli tässä mieleen, ettei rsync toimi aivan perfekto, mikäli molemmissa medioissa (siis omassa tikkubackup-kansiossa ja tikussa) tapahtuu muutoksia. Sellaisen tekeminen ei ole edes mahdollista, ellei kirjoita jonnekin muistiin viimeksi tapahtuneen syncronointiaikaa. rsyncissä on aina suunta, minne suuntaan muutokset tapahtuvat, joten se tuskin on aivan sitä mitä hait.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:20.17
???
Öh...siis mitä tarkoitat? Miksi se aika pitäisi merkata minnekkään? ???
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: peran - 26.02.08 - klo:20.27
Siis jos sinulla toisesta mediasta puuttuu tieto, ja toisessa mediassa on se tieto, niin mistä luulet rsyncin tietävän pitääkö ko. tieto poistaa toisesta mediasta (siis missä tieto on) vai pitääkö se tieto lisätä toiseen mediaan (siis mistä tieto puuttuu). Jos on aikaleima, niin voidaan katsoa ajan perusteella kumpaa pitää tehdä. Siis jos tieto on tullut jälkeen syncronoinnin, niin tieto pitää lisätä, mutta jos tieto on ollut jo ennen edellistä syncronointia tieto pitää poistaa.  ;)
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:20.43
Niin tuo ongelma tulee poistamisen kanssa... Tuossa skriptissä taisi olla sleep 10 joten se antaa 10 sekuntia aikaa poistaa ne molemmat tiedostot...

EDIT0: Minkä perusteella tuo rsync tutkii onko se tiedosto uudempi? Muokkauksen, koon vai minkä?
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: peran - 26.02.08 - klo:20.53
EDIT0: Minkä perusteella tuo rsync tutkii onko se tiedosto uudempi? Muokkauksen, koon vai minkä?

Kuten sanoinkin rsync ei toimi aivan halutulla tavalla - vaan siinä on aina SRC ja DEST l. suunta. l. sillä voi muuttaa joko kovalevyllä olevan tiedon mukaiseksi tai muistitikun mukaiseksi, mutta molempiin suuntiin ei muutokset siirry.

man rsync - kertoo lisää.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 26.02.08 - klo:21.00
EDIT0: Minkä perusteella tuo rsync tutkii onko se tiedosto uudempi? Muokkauksen, koon vai minkä?

Kuten sanoinkin rsync ei toimi aivan halutulla tavalla - vaan siinä on aina SRC ja DEST l. suunta. l. sillä voi muuttaa joko kovalevyllä olevan tiedon mukaiseksi tai muistitikun mukaiseksi, mutta molempiin suuntiin ei muutokset siirry.

Siis tarkoitatko ettei se tutki tuota?
Jos niin on niin milläs minä sen sitten teen...? ???

Ongelmia, Uudelleen käynnistyksessä herjasi
Lainaus
udevd[2633]: add_to_rules: invalid SUBSYSTEM operation
udevd[2633]: add_to_rules: invalid rule '/etc/udev/rules.d/95-backup.rules:1'
Eli virhe jossain ???

EDIT: virhe tarkennus
Yritetty muokata kyseista tiedostoa monella eri tapaa, ilman ratkaisua,
sama virhe toistuu aina tallentaessa /var/log/syslog :ssa

Koodia: [Valitse]
Feb 26 20:56:56 tomppeli-laptop udevd[3575]: add_to_rules: invalid rule '/etc/udev/rules.d/95-backup.rules:3'
Feb 26 20:56:56 tomppeli-laptop udevd[3575]: add_to_rules: invalid rule '/etc/udev/rules.d/95-backup.rules:3'
Ai näin? Per... ;D
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: SuperOscar - 26.02.08 - klo:22.13
Minä käytän synkkaukseen rsyncin sijaan unisonia, joka on paljon monipuolisempi. Se sopinee automatisoitavaksi ihan siinä kuin rsync’kin, ehkä jopa paremmin, mutta en ole kokeillut.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: mgronber - 27.02.08 - klo:13.39
Minä käytän synkkaukseen rsyncin sijaan unisonia, joka on paljon monipuolisempi. Se sopinee automatisoitavaksi ihan siinä kuin rsync’kin, ehkä jopa paremmin, mutta en ole kokeillut.

Minäkin suosittelen käyttämään rsync:n sijasta unisonia tällaisessa tehtävässä. Tosin jos sen laittaa toimimaan taustalla hiljaisesti ja molemmissa kohteissa on tiedostoa muokattu niin kumpaakaan ei kopioida minnekään. Periaatteessa tämä on myös oikea tapa toimia sillä vain käyttäjä tietää mitä näille tiedostoille oikeasti tulisi tehdä.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 27.02.08 - klo:16.40
Hmm... unison:in man sivu ei kerro kauheasti sen käytöstä -> googlataan/kuukeloidaan/tjsp...

EDIT0: Pienen tutkimuksen jälkeen se toimii yksin kertaisesti niin, että "unison /paikkaA /paikkaB" Ja ilmeisesti se tarkistaa milloin tiedostoa on muokattu. Toimiiko tuo niin, että teen kuvakkeen jossa on komento "unison /paikka/kiintolevyllä /paikka/muistitikulla" ja sitten se aina klikattaessa korvaa vanhemman tiedoston uudemmalla ilma että se kysyy mitään? Tosin ilmeisesti jos molempia on muokattu niin se ei tee mitään, mutta sellaista tilannetta ei tule vastaan luultavasti.

Ohjeita: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: mgronber - 27.02.08 - klo:19.02
En suoraan osaa vastata mutta kokeile tuon toimintaa eri tapauksissa komentoriviltä ja katso miten se toimii. Voi olla että tarvitset tuohon mukaan joitakin optioita jotta suoritus ei pysähdy mihinkään kysymykseen (esimerkiksi -batch tai -auto voivat olla tarpeen). Toimintaa kannattaa testata ainakin niissä tapauksissa kun molemmissa hakemistoissa on eri tiedostot muuttuneet ja kun molemmissa on sama tiedosto muuttunut.
Otsikko: Vs: Saako muistitikun sisällön jotenkin synkronoitua koneelle?
Kirjoitti: Tomin - 27.02.08 - klo:20.18
Tuo toimii hyvin. Ainut on, että ehkä pitää käyttää autoa ja että kyselee noista korvaus jutuista (mutta koska tämä ei varsinaisesti tule minua varten täytynee kysellä siitä vielä). Kokeilin tehdä tuolle käynnistimen ainakaan sellaisenaan ei toimi. Skriptinä ehkä, kokeilen
EDIT0: Ei toimi...! Mitä hel...?! >:(
EDIT1: Vika on mussa... Tyhjensin toisen kansion niin se ei suostunut tekemään sitä... ::)
EDIT2: I think it works perfectly! :D