Ero sivun ”USB-varmuuskopio” versioiden välillä

Siirry navigaatioon Siirry hakuun
211 merkkiä lisätty ,  9. heinäkuuta 2009
viilailua
p (tietoturvaluokkaan)
(viilailua)
 
Rivi 3: Rivi 3:
==Menetelmä==
==Menetelmä==


*UDEV-säännöllä luodaan /dev -hakemistoon laitetiedostolinkki tietyllä nimellä kun varmuuskopiointiin käytettävä USB-levy kytketään
*UDEV-säännöllä luodaan <tt>/dev</tt> -hakemistoon [[laitetiedosto]]linkki tietyllä nimellä kun varmuuskopiointiin käytettävä USB-levy liitetään koneeseen
*Varmuuskopio tehdään [http://backup2l.sourceforge.net backup2l]-ohjelmalla UDEV-säännöllä luodun laitenimen avulla
*Varmuuskopio tehdään [http://backup2l.sourceforge.net backup2l]-ohjelmalla UDEV-säännöllä luodun laitenimen avulla
*Varmuuskopiotyön tuloksista lähetetään sähköposti ylläpitäjälle
*Varmuuskopiotyön tuloksista lähetetään sähköposti ylläpitäjälle
Rivi 9: Rivi 9:
==USB-levyn kytkeminen==
==USB-levyn kytkeminen==


Varmuuskopiointiin on varattu erityinen USB-levy. Linux-kernelin [[udev]]-järjestelmä luo laitetiedoston /dev-hakemistoon kun USB-laite kytketään. USB-levyt emuloivat scsi-levyä ja saavat nimiä: /dev/sda1, /dev/sda2 jne.  
Varmuuskopiointiin on varattu erityinen USB-levy. Ytimen [[udev]]-järjestelmä luo laitetiedoston <tt>/dev</tt>-hakemistoon kun USB-laite kytketään. USB-levyt emuloivat [[scsi]]-levyä ja saavat nimiä <tt>/dev/sda1</tt>, <tt>/dev/sda2</tt> jne. Lisätietoja löytyy artikkelista [[Laitetiedosto]]t.


Jos linux-koneeseen kytketään useampia levyjä, ei tietyn levyn laitetiedoston nimestä voi olla varma. Tästä syystä tehdään udev-säännöllä varmuuskopiointiin käytettävän levyn laitetiedostoon viittaava linkki, joka saa aina saman nimen riippumatta siitä, monentenako USB-levynä varmuuskopiolevy kytketään. Tällä tavalla linux-koneessa voi käyttää USB-muistitikkuja ja muita USB-levyjä. Varmuuskopiointi onnistuu, vaikka varmuuskopiolevy ei aina saisikaan samaa /dev/sda*-nimeä.
Jos koneeseen kytketään useampia levyjä, ei tietyn levyn laitetiedoston nimestä voi olla varma. Tästä syystä tehdään udev-säännöllä varmuuskopiointiin käytettävän levyn laitetiedostoon viittaava linkki, joka saa aina saman nimen riippumatta siitä, monentenako USB-levynä varmuuskopiolevy kytketään. Tällä tavalla koneessa voi käyttää USB-muistitikkuja ja muita USB-levyjä. Varmuuskopiointi onnistuu, vaikka varmuuskopiolevy ei aina saisikaan samaa <tt>/dev/sda*</tt>-nimeä.


Seuraava koodinpätkä on tiedostossa <tt>/etc/udev/rules.d/010_usblevy.rules</tt>. Tiedoston nimen edessä on numero 010, koska hakemiston tiedoston suoritetaan järjestyksessä. Numeron avulla tiedosto suoritetaan ensimmäisten joukossa ja mahdolliset aiemmat säännöt eivät pääse vaikuttamaan lopputulokseen.
Seuraava koodinpätkä on tiedostossa <tt>/etc/udev/rules.d/010_usblevy.rules</tt>. Tiedoston nimen edessä on numero 010, koska hakemiston tiedoston suoritetaan järjestyksessä. Numeron avulla tiedosto suoritetaan ensimmäisten joukossa ja mahdolliset aiemmat säännöt eivät pääse vaikuttamaan lopputulokseen.
Rivi 21: Rivi 21:
''HUOM! Edellisen on oltava yhdellä rivillä!''
''HUOM! Edellisen on oltava yhdellä rivillä!''


Ensimmäisellä Kernel-lausekkeella kohdistetaan sääntö tilanteisiin, joissa Kernel tunnistaa kytkettävän laitteen olevan sd-alkuinen järjestysnumeron 1-9 saanut levy. Toisella, subsystems-lausekkeella kohdistetaan sääntö koskemaan ainoastaan USB-väylään kytkettyjä laitteita. attrs-lausekkeella kohdistetaan sääntö tiettyyn varmistuslevyyn sen sarjanumeron perusteella. On oleellista muistaa, että ehtolausekkeissa parametrien yhtäläisyyttä kuvataan kahdella yhtäkuin-merkillä. Levyn sarjanumeron saa selville komennolla
Ensimmäisellä <tt>Kernel</tt>-lausekkeella kohdistetaan sääntö tilanteisiin, joissa ydin tunnistaa kytkettävän laitteen olevan sd-alkuinen järjestysnumeron 1-9 saanut levy. Toisella, <tt>subsystems</tt>-lausekkeella kohdistetaan sääntö koskemaan ainoastaan USB-väylään kytkettyjä laitteita. <tt>attrs</tt>-lausekkeella kohdistetaan sääntö tiettyyn varmistuslevyyn sen sarjanumeron perusteella. On oleellista muistaa, että ehtolausekkeissa parametrien yhtäläisyyttä kuvataan kahdella yhtäkuin-merkillä. Levyn sarjanumeron saa selville komennolla
  udevinfo -a -p /sys/block/sdb | [[grep]] serial
  [[udevinfo]] -a -p /sys/block/sdb | [[grep]] serial
Jos levy näkyy [[laitetiedostot|laitetiedostona]] <tt>/dev/sdb</tt>.
Jos levy näkyy [[laitetiedostot|laitetiedostona]] <tt>/dev/sdb</tt>.


Symlink-lausekkeella luodaan [[symbolinen linkki|linkki]] varsinaiseen laitetiedostoon. Tämän linkin avulla laitteelle saadaan vakionimi riippumatta siitä, montako usb-levyä tietokoneeseen on aiemmin kytketty. GROUP-lausekkeella määritellään linkin [[Tiedoston oikeudet|käyttäjäryhmä]]. RUN-lausekkeella udev käynnistää [[bash-skriptaus|skriptin]], jonka avulla varmistus käynnistetään.
<tt>Symlink</tt>-lausekkeella luodaan [[symbolinen linkki|linkki]] varsinaiseen laitetiedostoon. Tämän linkin avulla laitteelle saadaan vakionimi riippumatta siitä, montako usb-levyä tietokoneeseen on aiemmin kytketty. <tt>GROUP</tt>-lausekkeella määritellään linkin [[Tiedoston oikeudet|käyttäjäryhmä]]. <tt>RUN</tt>-lausekkeella udev käynnistää [[bash-skriptaus|skriptin]], jonka avulla varmistus käynnistetään.


Udev-säännössä käynnistettävä skriptin ajo ei saa kestää pitkään. udev-järjestelmä keskeytyy skriptin ajamisen ajaksi. Jos säännöllä ajetaan pitkään istunnon varaavia ohjelmia, uusien laitetapahtumien rekisteröinti viivästyy. [[Varmuuskopiointi]] on pitkä prosessi, joten prosessin käynnistämiseen käytetään väliskriptiä, joka irrottaa varmuuskoprosessin udevin käynnistämästä komentotulkkiympäristöstä.
Udev-säännössä käynnistettävä skriptin ajo ei saa kestää pitkään. udev-järjestelmä keskeytyy skriptin ajamisen ajaksi. Jos säännöllä ajetaan pitkään istunnon varaavia ohjelmia, uusien laitetapahtumien rekisteröinti viivästyy. [[Varmuuskopiointi]] on pitkä prosessi, joten prosessin käynnistämiseen käytetään väliskriptiä, joka irrottaa varmuuskopiointiprosessin udevin käynnistämästä komentotulkkiympäristöstä.


<code>Udevinfo -e</code> -komennolla saa lisävalaistusta ja vinkkejä udev-sääntölausekkeiden kirjoittamiseen.
Komennolla
udevinfo -e
saa lisävalaistusta ja vinkkejä udev-sääntölausekkeiden kirjoittamiseen.


[[/etc/fstab]] -tiedostossa on rivi:
[[fstab|<tt>/etc/fstab</tt>]] -tiedostoon on seuraavaksi lisättävä rivi
  /dev/usblevy /media/usblevy auto rw,user,noauto 0 0
  /dev/usblevy /media/usblevy auto rw,user,noauto 0 0


Rivi 38: Rivi 40:
==Varmuuskopio-ohjelman käynnistäminen==
==Varmuuskopio-ohjelman käynnistäminen==


/root -hakemistossa on seuraava [[bash-skriptaus|skripti]] <tt>backup2l.sh</tt>, jolla varmuuskopiontiohjelma käynnistetään:
<tt>/root</tt>-hakemistossa on seuraava [[bash-skriptaus|skripti]] <tt>backup2l.sh</tt>, jolla varmuuskopiointiohjelma käynnistetään:


<source lang="bash">
<source lang="bash">
Rivi 47: Rivi 49:
</source>
</source>


Skriptin ensimmäisellä rivillä on varmistus, joka mahdollistaa varmuuskopioinnin estämisen lisäämällä <tt>/root</tt>-hakemistoon <tt>.eibackup2l</tt>-nimisen tiedoston. Tällä voi ehkäistä varmuuskopionnin käynnistymisen esimerkiksi tilanteessa, jossa tietoja pitäisi palauttaa. Tilanteesta lähetetään user-nimiselle [[käyttäjä]]lle sähköpostiviesti.
Skriptin ensimmäisellä rivillä on varmistus, joka mahdollistaa varmuuskopioinnin estämisen lisäämällä <tt>/root</tt>-hakemistoon <tt>.eibackup2l</tt>-nimisen tiedoston. Tällä voi ehkäistä varmuuskopioinnin käynnistymisen esimerkiksi tilanteessa, jossa tietoja pitäisi palauttaa. Tilanteesta lähetetään <tt>user</tt>-nimiselle [[käyttäjä]]lle sähköpostiviesti.


Skriptin toisella rivillä varsinainen varmuuskopio-ohjelma käynnistetään. [[Nice]]-komennolla lasketaan varmuuskopio-ohjelman prioriteettia. Ohjelman virheilmoitukset on ohjattu /dev/null:iin, kuten myös vakiosyöte. Vakiosyötteen ohjaaminen on tärkeää, muuten varmuuskopioprosessia ei saa irrotettua alkuperäisestä komentotulkista ja udev keskeyttää lyhyen aikavalvonnan jälkeen skriptin suorituksen. Varmuuskopio-ohjelman vakiotulostus ohjataan sähköpostiohjelmalle.
Skriptin toisella rivillä varsinainen varmuuskopio-ohjelma käynnistetään. [[Nice]]-komennolla lasketaan varmuuskopio-ohjelman prioriteettia. Ohjelman virheilmoitukset on ohjattu <tt>/dev/null</tt>:iin, kuten myös vakiosyöte. Vakiosyötteen ohjaaminen on tärkeää, muuten varmuuskopioprosessia ei saa irrotettua alkuperäisestä komentotulkista ja udev keskeyttää lyhyen aikavalvonnan jälkeen skriptin suorituksen. Varmuuskopio-ohjelman vakiotulostus ohjataan sähköpostiohjelmalle.


Backup2l-ohjelmalle on kerrottu sen omassa määritystiedostossa <tt>/etc/backup2l.conf</tt> mistä hakemistoista varmuuskopio tehdään. Samassa tiedostossa kerrotaan missä itse varmuuskopiolaitteen kohdehakemisto sijaitsee (<tt>/media/usblevy/backup2l</tt>).
Backup2l-ohjelmalle on kerrottu sen omassa määritystiedostossa <tt>/etc/backup2l.conf</tt> mistä hakemistoista varmuuskopio tehdään. Samassa tiedostossa kerrotaan missä itse varmuuskopiolaitteen kohdehakemisto sijaitsee (<tt>/media/usblevy/backup2l</tt>).

Navigointivalikko