Tuo rsync kuulostaa mielenkiintoiselta. En ole tutustunut vielä yhtään noiden scriptien tekemiseen, mutta nyt taitaisi olla aika.
juu, eivät ne ole niin pelottavia kuin saattaa aluksi tuntua. jos on tarkoitus ajaa vain komnetorivikomentoja peräkkäin, ilman muuttujia ja toisto/ehtorakenteita, niin opeteltavaa ei juurikaan edes ole.
Soitin tosiaan liitetään usb:llä ja toimii samalla tavalla kuin usb-kovalevy. Soitin ei myöskään vaadi tietokantojen tekemistä, joten pelkkä kopionti soittimelle riittää.
loistavaa, tosin noiden kantojen tekeminenkin onnistuisi varmaan automatisoidusti, jos niin haluaisi.
No niin tutustuin tuohon rsyncciin ja se kyllä toimii juuri kuin pitääkin. Käytin komentoa
rsync -av /home/rane/Musiikki/iRiver/ /media/H300/Musiikki
Jolloin kaikki koneella olevasta iRiver hakemistosta kaikki hakemistot ja tiedostot siirtyivät Soittimen Musiikki-hakemistoon.
jep, juuri kuten pitääkin
loistavaa, tosin noiden kantojen tekeminenkin onnistuisi varmaan automatisoidusti, jos niin haluaisi.
Tulevaisuudessa tulee ongelmaksi se, että kun poistan iRiver-hakemistosta jotain niin tuolla komennollahan se ei osaa sitä samaa poistaa soittimen Musiikki-hakemistosta. Lueskelin vähän man:ia, mutta en uskaltanut lähteä kokeilemaan. Eli mitä tuohon komentoon pitäisi lisätä, jotta se osaisi myös poistaa turhat tiedostot/hakemistot.
eikös tuohon komentoon lisätty --delete -parametri hoida juuri tuon homman.
Sitten vielä tuo skriptin tekeminen, miten se onnistuu ja mikä tuo hotplug sääntö on?
siis ilmeisesti tässä tapauksessa scriptiksi riittää, laitteen mounttaaminen, tiedostojen kopioiminen ja laitteen unmounttaaminen?
scripti voi siis olla aivan sama kuin mitä tekisit komentoriviltä, mutta ensimmäisenä rivinä pitää olla vaikkapa
#!/bin/bash joka kertoo, että bash suorittaa seuraavat rivit/komennot. itse tiedosto voisi olla nimeltään vaikka
iriver ja sen sisältö voisi olla jotain tämän kaltaista:
#!/bin/bash
mount <device> <dir>
rsync <mitä nyt satuit haluamaan>
unount <dir>
hotplug puolestaan on systeemi joka tarkkailee koneeseen lennossa kytkettyjä laitteita ja suorittaa niille haluttuja toimenpiteitä. nämä omien systeemien viritys vaatii hieman käsityötä, mutta on loppujenlopuksi aika simppeliä, scripti jota voi käyttää tuona haluattuna toiminnallisuutena sinulla onkin jo...
hotplug tunnistaa laitteen sen VendorId:n ja ProductId:n perusteella, jos haluat hotplugin tunnistavan laitteen, on sinun kerrottava sille mitä sen pitää tunnistaa joten sinulla on oltava tuo tieto. onneksi se on melko helppoa tarkistaa komennolla
lsusb. katsotaanpa mitä minulta löytyy:
janne@aplari ~ $ lsusb
Bus 003 Device 007: ID 04a6:0181 Nokia Display Products
Bus 003 Device 006: ID 04a6:0180 Nokia Display Products
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 0a5c:200a Broadcom Corp.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
usb-liitäntään liitettävä bluetooth-dongle on näköjään Device 003. sen ID-kenttä kertoo tuon aikaisemmin kaivatun tiedon muodossa <VendorId>:<DeviceId> eli, donglen VendorId on 0a5c ja DeviceId vastaavasti 200a.
nyt on viimeistään aika ottaa käyttöön rootin oikeudet. siirry hakemistoon
/etc/hotplug/usb ja luo tiedosto
iriver.usermap (periaatteessa sen nimi voi olla mitä tahansa, kunhan sen pääte on .usermap. ajattelin, että tuo iriver sopii tilanteeseen hyvin ja se on helppo yhdistää nimen perusteella tuohon jo luotuun scriptiin). tiedoston sisällöksi seuraavankaltaista tavaraa:
# Entry for iRiver mp3-player
iriver 0x0003 0x<VendorId> 0x<ProductId> 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
kommentti ei ole tietenkän pakollinen, mutta huomaa, että kummankin Id:n etuliitteeksi lisätään hexaa tarkoittava 0x (siis nollax).
nyt ollaan jo loppumetreillä. kopioidaan vielä se jo luotu
iriver niminen scripti tähän samaan hakemistoon ja varmistutaan, että sillä on suoritusoikeudet.
käynnistetään vielä hotplug uudestaan:
# /etc/init.d/hotplug restart
liitetään soitin koneeseen ja toivotaan parasta.
tosin sinulla tuo hal+gnome-volume-manager taisi hoitaa tuon mounttauksen, joten sitä ei tarvita (tai ei edes voida tehdä scriptissä), pitää vaan varmistua, että laite on mountattu ennen synkkaamista. tosin jos haluaa kikkailla vieläkin enemmän, niin tuolle soittimelle on mahdollista luoda node
/devin alle itse aprhaaksi katsomallaan nimellä käyttämällä
udeviä. nythän se menee jollekin geneeriselle scsi-levyn nodeen joka voi periaatteessa vaihtuakin käyttökertojen välillä jos koneessa on monta scsi-levynä järjestelmälle näkyvää laitetta. tuohan se lisää nörttiuskottavuuttakin, jos järjestelmä luo laitetta liitettäessä
/dev/iriverin