4 175
muokkausta
p (→USB-levyn kytkeminen: kh) |
(viilailua) |
||
(3 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä) | |||
Rivi 3: | Rivi 3: | ||
==Menetelmä== | ==Menetelmä== | ||
*UDEV-säännöllä luodaan /dev -hakemistoon | *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. | 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 | 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 | 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 | 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ä. | ||
Komennolla | |||
udevinfo -e | |||
saa lisävalaistusta ja vinkkejä udev-sääntölausekkeiden kirjoittamiseen. | |||
[[/etc/fstab]] - | [[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]] backup2l.sh, jolla | <tt>/root</tt>-hakemistossa on seuraava [[bash-skriptaus|skripti]] <tt>backup2l.sh</tt>, jolla varmuuskopiointiohjelma käynnistetään: | ||
< | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
[ -e /root/.eibackup2l ] && echo ei saa tehda kopiota | mail -s backup2l user && exit; | [ -e /root/.eibackup2l ] && echo ei saa tehda kopiota | [[mail]] -s backup2l user && exit; | ||
/usr/bin/nice -n 19 /usr/sbin/backup2l -b 2> /dev/null | [[nice|/usr/bin/nice]] -n 19 /usr/sbin/backup2l -b 2> /dev/null > /dev/null \ | ||
| mail -s backup2l user & | | mail -s backup2l user & | ||
</ | </source> | ||
Skriptin ensimmäisellä rivillä on varmistus, | 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 | 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 < | 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>). | ||
==Katso myös== | ==Katso myös== | ||
Rivi 63: | Rivi 65: | ||
[[Luokka:Raportit]] | [[Luokka:Raportit]] | ||
[[Luokka:Ylläpitotyökalut]] | [[Luokka:Ylläpitotyökalut]] | ||
[[Luokka:Tietoturva]] |