Köh, tuo nimeää kiertävät snapshotit tyyliin 'new', 'old' jne., ja joka snapshotille on skriptissa oma ehtolause, ts. lukumäärä on kovakoodattu systeemiin. Eipä herätä kovin suurta luottamusta. Skriptissä on pitkin matkaa tehty mutkan kautta yhtä ja toista, minkä rsync osaisi itsekin. (Viritelmä on Turun yliopiston matemaattisluonnontieteellisen tiedekunnan ylläpidon sivuilla, ja kyseisesta putiikista aikanani valmistuneena en ehkä katselisi siihen suuntaan toimivia systeemejä etsiskellessäni.)
Kiitos palautteesta. En ala puolustella koodin sisältöä, mutta selitän hieman valintojen syitä. Tärkeämpää, kuin kasaamani paketin koodin tökköydet, on periaate. Itsekin aion vielä jatkaa tämän järjestelmän kehittelyä.
Pahin tökkö tässä versiossa on se, että kopioitavat hakemistot luetellaan ohjelman sisällä osana rsync-lausetta. Toinen on se, että mnt-piste pitää mainita exclude -listassa, jottei syntyisi rekursiota.
Oleellista tässä paketissa on oikeastaan se, että varmuuskopio tehdään samassa koneessa olevalle toiselle kovalevylle, jota ei käytetä mihinkään muuhun. (Toinen kovalevy on joka tapauksessa halvempi, kuin yksinkertaisinkaan palautustoimenpide.) Sekä se, että jokaisella käyttäjällä on vapaa pääsy lukemaan omia varmuuskopioitaan ilman, että tarvitsisi konsultoida Root:a ja pystymättä tuhoamaan kopioita.
Nimet on valittu selkeyden takia. Määrä on valittu sen perusteella, että on aika turha säilöä ikivanhoja vedoksia tiedostoista. Kolmekin tasoa riittäisi kotikäytössä. Ja kopiointiväliksi riittäisi kaksikin vuorokautta. Joka tapauksessa tälläinen rakenne voittaa RAID.n 3-0.
Yhtäkkiä en nyt keksi, miten koodin tökköys heikentää luottamusta toimintaan. Tälläisellä pure force -ratkaisulla koodista tulee helposti luettavaa sekä testattavaa ja siihen on helppo liittää erilaisia tarkistus- ja toiminnankirjausmenetelmiä. Esimerkiksi toiminnan valvontaa varten on oma werkkosivunsa sekä selkokieliset hälytykset sähköpostilla.
Toisaalta koodi on vapaassa jakelussa eikä ole mitään estettä sen muokkaamiseen. Oikeastaan jopa toivoisin, että joku pistäisi paremmiksi ja saisi Linuxin jakeluun mukaan toimivan työkalun, jolla ohjattaisiin ihmiset huolehtimaan varmuuskopioinneista. Ehkä tämä koodikasa antaa jollekin uusia ideoita. Scritien kirjoittaminen ei ole puristien mielestä 'oikeaa' ohjelmointia, mutta Linuxissa scriptit ovat osa oikeaa työskentelyä silloin, kun ei tarvitse välittää mikrosekunneista ja huippuunsa optimoidusta koodista.
Rsync on tehokas työkalu, mutta pahuksen hankala saada tottelemaan luotettavasti, vaikkei optioita loputtomasti olekaan. Olen ollut huomaavinani jopa eri versioissa eroja, joten päädyin ratkaisuihin, jotka sain testattua toimiviksi mahdollisimman monessa kokeilemassani testiympäristössä. Rsync ei missään mielessä ole hyvä työkalu Miinalle ja Manulle. Heille se on liian monimutkainen. Sitä voidaan kuitenkin käyttää varmuuskopioinnin moottorina.
Parhaimmillaan systeemi olisi, jos siihen olisi olemassa GUI, jolla peruskäyttäjä voisi asettaa parametrit varmuuskopioinnilleen. Toisaalta parametrit kirjaantuisivat tiedostoon, jota myös paneutuneempi käyttäjä voisi puukottaa suoraan editorilla.
Muutenkin kaipaisin Linuxin rakenteeseen muutamia muutoksia, jotka tekisivät varmuuskopioinnista helpompaa. Esimerkiksi se, että kaikki käyttäjän (myös root) luomat tiedostot ja käyttäjää koskevat asetustiedostot olisivat /home -hakemistossa. /etc on helppo ottaa mukaan, mutta vielä on joitain huonosti käyttäytyviä ohjelmia, jotka tallettavat konfiguraationsa jonnekin /usr tai /var -polun syövereihin.
Julkaisin paketin tuolla sivustolla, koska sain sen sinne pistää. Se ei sinänsä ole millään tavalla sidoksissa muuhun yliopistoon eikä ATK-tukeen. Eikä tuo sivusto muutenkaan ole virallinen Mlt:n tukisivusto, vaan keräelmä yksittäisen ihmisen ATK-ylläpitoon liittyviä muistiinpanoja.
Harmi sinänsä, että sinulle on jäänyt huonot muistot opiskelusta.