Kirjautuminen

Haku

Tehtävät

Kilpailu

Algoritmikisa
Putka Open 2020 -kisan
2. kierros: 25.–27.9.

Keskustelu: Yleinen keskustelu: Backup-ohjelma Ubuntuun

Sivu 1 / 1

Sivun loppuun

E1ss [16.12.2019 14:18:08]

#

Otsikko ”Gitin käyttö backupissa” ehkä hämäävä mutta en oikein osaa muodostaa kysymystä kunnolla jonka takia tänne tulinkin Googlaamisen sijaan. Eli siis minulla on ulkoinen kovalevy jota haluaisin käyttää joidenkin tiedostojen säilytykseen. Alkuperäinen kansio tulee olemaan ulkoisella kovalevyllä ja sitten haluan käyttää tietokonetta backupin pitämiseen niin kuinka saan kätevästi kopioitua vain muutetut tiedostot tietokoneelle vaikka kerran viikossa? Joskus olen tehnyt sillä tavalla että ainakun halusin syncata kaksi kansiota niin poistin vanhemman version ja sitten copy pastasin sen uuden sen tilalle. Tämä kuitenkin vie aikaa kun suurin osa tiedostoista on samoja. Ajattelin että Git olisi aika hyvä mutta omalla kokemuksella en osaa pull uutta versiota ulkoiselta kovalevyltä tietokoneelle.

Lebe80 [16.12.2019 14:42:42]

#

Mikä käyttöjärjestelmä?

Veikkaan, että kannattaisi tsekata löytyisikö tietokoneeseesi Macin Time Machinen tapaista varmuuskopiointi-työkalua, joka periaatteessa tekee juuri tuon haluamasi, mutta vain automatisoituna ja tuotteistettuna.

E1ss [16.12.2019 15:23:06]

#

ubuntu. Olen käyttänyt Back In Time:a mutta ei mielestäni hyvä ja turhan monimutkainen kun periaattessa haluan vain muutaman kansion syncata manuaallisesti joskus aika harvoin.

Metabolix [16.12.2019 17:22:37]

#

Rsync on kaipaamasi ohjelma.

Seuraava komento kopioi lähteestä kohteeseen rekursiivisesti (-a) tiedostot, jotka puuttuvat tai ovat vanhentuneet (-u) ja tulostaa tietoa kopioinnin edetessä (-P). Jos on tarkoitus ylläpitää yksisuuntaisesti varmuuskopiota, komentoon voi lisätä vielä asetuksen --del, joka poistaa kohteesta tiedostot, joita lähteessä ei ole. Kokeiluvaiheessa kannattaa laittaa asetus -n (tai --dry-run), jolloin näkee, mitä komento tekisi, mutta tiedostoja ei oikeasti muuteta.

rsync -auP --del --dry-run lähdesijainti/ kohdesijainti

Kaksisuuntaista synkronointia varten pitää ajaa komento molemmin päin. Tällöin ei ehkä kannata käyttää --del-asetusta, koska kone ei voi oikeasti tietää, onko jokin tiedosto poistettu yhdeltä puolelta vai luotu toiselle puolelle.

Jos varmuuskopion sisältävä levy käyttää btrfs-tiedostojärjestelmää, vanhat versiot voi pitää tallessa sen omalla snapshot-ominaisuudella. Jos toisellakin levyllä on btrfs, snapshotteja voi myös siirtää levyltä toiselle inkrementaalisesti, ja vanhat snapshotit voi halutessaan poistaa myöhemmin.

Git sopii, jos on tarkoitus säilyttää kaikki (vanhatkin) versiot. Gitistä ei saa helposti poistettua vanhoja versioita, joten tilaa kuluu jatkuvasti enemmän. Gitin hallinta vaatii enemmän vaivannäköä kuin pelkkä kopiointi Rsyncillä.

E1ss [16.12.2019 17:44:27]

#

Kiitos

The Alchemist [17.12.2019 05:56:38]

#

Gitin päälle on kyllä rakennettu backup-ratkaisuita mutta ne eivät säilytä itse binäärejä repossa vaan pelkästään tiedostojen metatiedot. En käyttäisi pelkkää rsynciä, koska sekään ei täysin ratkaise ongelmaa, nimittäin levyn täyttyessä olisi hyvä pystyä poistamaan vanhoja backuppeja.

Esimerkiksi Back In Time -niminen sovellus automatisoi rsyncin käyttöä ja tarjoaa graafisen käyttöliittymän backupien hallintaan.

Itse olen käyttänyt btrfs:ää ja sen snapshotteja. Kirjoitin jopa pythonilla sovelluksenkin, joka kerää backuppeja talteen.

Btrfs:n käyttöön liittyy joitakin nyansseja, jotka olisi hyvä osata ottaa huomioon, koska muuten voi epähuomiossa aiheuttaa isojakin suorituskykyongelmia ja varmaan myös ssd-levyn eliniän lyhenemisen. Jos sitä aikoo käyttää, niin sitten olisi hyvä olla kiinnostunut tiedostojärjestelmän toiminnasta sen verran, että lukee btrfs:n käytöstä tarkemminkin.

Zfs voisi olla parempi valinta, koska sille on tuki useassa eri käyttöjärjestelmässä: Linux, Mac OS X, FreeBSD, NetBSD. Myös Windowsille on jonkinlainen purkkaviritelmä olemassa...

Lebe80 [17.12.2019 08:07:41]

#

Uskoisin, että kuten Time Machine, myös Back in Time hoitaa varmuuskopioinnin niin, että voi halutessaan hypätä takaisin tiettyyn hetkeen. Tämä on varmuuskopioinnissa erittäin tärkeää, sillä vahingon sattuessa ei ole niinkään tärkeää, että voin ladata tiedoston viimeisimmän ulkoiselta kovalevyltä, vaan juuri se, että syystä tai toisesta tiedoston päälle on kirjoitettu jotain, mitä siinä ei kuuluisi olla, ja pystyisin näin ollen lataamaan tiedoston, joka oli siinä ennen kuin se ylikirjoitettiin (esim. epähuomioissa).

Metabolix [17.12.2019 16:28:01]

#

The Alchemist kirjoitti:

En käyttäisi pelkkää rsynciä, koska sekään ei täysin ratkaise ongelmaa, nimittäin levyn täyttyessä olisi hyvä pystyä poistamaan vanhoja backuppeja.

Rsyncillä nimenomaan saa helpoiten pidettyä yllä yhtä kopiota. Ei jää mitään vanhoja versioita roikkumaan. Vanhempien versioiden roikkuminen on Back in timen yms. lisäominaisuus.

Jos Rsyncillä haluaa käsin pitää yllä useampaa versiota (Lebe80:n mainitsemasta syystä), täytyy ensin kopioida vanha backup nykyiseksi (linkittämällä, jotta samana pysyneet tiedostot eivät vie lisätilaa) ja sitten päivittää se:

cp -al backup-vanha backup-uusi
rsync -auP --del lähdesijainti/ backup-uusi

Vanhan kopion poistaminen on tämän jälkeen täysin sallittua.

Jos jotkin tiedostot haluaa jättää pois backupista, ne voi listata tekstitiedostoon ja lisätä komentoon --exclude-from=ohitettavat.txt.

E1ss [20.12.2019 10:13:27]

#

Kiitos vinkeistä. Kokeilin rsynciä ja se sopi mainioisti tarkoitukseeni joten käytän nyt sitä. Minun ei tarvitse pitää versiohistoriaa ainakaan tällähetkellä niin tämä on hyvin helppo käyttöinen.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta