Kuinka luoda palvelimen varmuuskopioita rsync-komennolla
Varmuuskopioiden tulisi olla keskeisessä asemassa palvelinsuunnittelussasi. Yksittäiset varmuuskopiot voidaan määrittää ja suorittaa nopeasti ilmaisen synkronointityökalun tai rsync-protokollan avulla.
Kuinka määrittää rsync-varmuuskopiointi Linux-palvelimille
Jos haluat käyttää rsync-ohjelmaa Linux-käyttöjärjestelmissä, asenna ohjelma samannimisestä paketista ja luo varmuuskopiot komentoriviltä. Seuraavassa osiossa esittelemme Ubuntun avulla tärkeimmät vaiheet rsync-ohjelman avulla tehtävien varmuuskopiointiprosessien määrittämiseen. Olemme lisänneet mukaan myös käytännön esimerkkejä.
Rsync on jo asennettu Ubuntussa oletuksena. Jos näin ei ole, asenna se seuraavalla komennolla:
sudo apt-get install rsyncbashJos rsync on asennettu, voit määrittää lähde- ja kohdekansiot sekä varmuuskopiointiasetukset komentoriviltä. Lähde- ja kohdepolkuina on määritettävä vastaavasti lähdekansio ja kansio, johon rsync tallentaa varmuuskopion. Vakiotila (”Archive”) suoritetaan esimerkiksi seuraavasti:
rsync -a source directory target directorybashTarkista testikierroksella -n, että määritetyt parametrit ja hakemistot ovat oikein. Virheelliset tiedot voivat pahimmassa tapauksessa johtaa tietojen menetykseen. Jos joitakin tiedostoja ei kopioida odotetulla tavalla, syynä on usein puutteelliset käyttöoikeudet. Jos näin tapahtuu, yritä suorittaa komento järjestelmänvalvojana lisäämällä komennon eteen sudo.
Viisi esimerkkiä rsync-varmuuskopioinnin käytöstä
Kun olet oppinut peruskomennot, rsync on erinomainen työkalu tiedostojen kopiointiin ja varmuuskopioiden luomiseen. Voit joko kokeilla ja ottaa käyttöön yksittäisiä komentoja tai käyttää rsync-parametrien toimiviksi todettuja yhdistelmiä. Olemme koonneet seuraaviin osioihin viisi suosittua tapaa tehdä rsync-varmuuskopioita.
Tavallinen varmuuskopiointi arkistointitilassa
Arkistointitila kopioi kaikki tiedostot lähdekansiosta kohdekansioon, mukaan lukien kaikki alikansiot. Kaikki käyttöoikeudet, aikaleimat ja laitetiedot säilyvät. Tämä on monissa tapauksissa ihanteellinen ja yksinkertaisin ratkaisu, sillä se yhdistää useita vaihtoehtoja yhteen parametriin. Jos yhdistät tämän tilan parametriin -v, saat myös kattavat tilatiedot varmuuskopioinnin aikana.
rsync -av Source directory Target directorybashLähde - ja kohdepolkuina on määritettävä vastaava lähdekansio sekä kansio, johon rsync:n tulee tallentaa varmuuskopio.
Lähdekansion tarkka kopio
rsync ei ainoastaan siirrä tiedostoja kohteeseen B, vaan se voi myös luoda identtisiä kopioita kansioista tai kokonaisista hakemistoista. Tavallisen arkistoinnin jälkeen ne tiedostot, jotka olivat kohdekansiossa ennen rsync-varmuuskopioinnin suorittamista (mutta joita ei ole lähdekansiossa), poistetaan.
rsync -av --delete Source directory Target directorybashrsync-varmuuskopiointi, jossa tietyn muotoiset tiedostot jätetään pois
Jos haluat suorittaa rsync-varmuuskopioinnin sulkemalla pois tietyn muotoiset tiedostot, voit käyttää --exclude. Tämän parametrin avulla voit määrittää yksittäisen merkkijonon, jota rsync käyttää merkkinä tiedoston ohittamisesta. Seuraava esimerkkikoodi sulkee pois .txt-tiedostot.
rsync -av --exclude'*.txt' Source directory Target directorybashTiedostojen varmuuskopiointi tietyn vähimmäis- tai enimmäiskoon perusteella
Jos haluat, että rsync-varmuuskopioinnissa tiettyjen tiedostojen poissulkemiseen vaikuttaa tiedostokoko eikä tietty merkkijono, voit käyttää parametrejä --max-size ja --min-size. Jos käytät seuraavaa komentoa, kopioidaan vain tiedostot, joiden koko on vähintään 10 Mt ja enintään 100 Mt:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashVarmuuskopiointi, mukaan lukien merkkimuodon muunnos
Saatat joutua muuntamaan tiedostojen merkistömuodon kohdekansiossa. Jos haluat esimerkiksi siirtää tietoja Mac-tietokoneelta Linux-palvelimelle, sinun on huolehdittava merkistömuodon muuntamisesta. Apple-laitteet käyttävät oletuksena UTF8-MAC-merkistöä, jota ei ole saatavilla Linux-järjestelmissä ja joka aiheuttaisi ongelmia erikoismerkkien kanssa. Vaihtoehdon --iconv avulla voit helposti mukauttaa merkkikoodausta osana rsync-varmuuskopiointiprosessia (alla olevassa esimerkissä UTF8-MAC:sta UTF8:aan):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashYleiskatsaus tärkeimpiin rsync-varmuuskopiointiasetuksiin
Voit määrittää rsync-varmuuskopioiden yksittäiset asetukset käyttämällä erilaisia vaihtoehtoja, jotka voidaan kirjoittaa joko lyhenteinä tai kokonaisuudessaan. Seuraavassa taulukossa on koottu yhteen tärkeimmät parametrit, joita voidaan yhdistellä keskenään tarpeen mukaan:
| Vaihtoehto | Toiminto |
|---|---|
-r, --recursive
|
rsync-varmuuskopiointi ottaa huomioon kaikki alihakemistot |
-u, --update
|
Ohje ohittaa kohdekansiossa olevat tiedostot, jotka ovat uudempia kuin lähdekansiossa olevat tiedostot |
-c, --checksum
|
Lähde- ja kohdetiedostojen erottaminen tarkistussumman perusteella |
-l, --links
|
Symboliset linkit kopioidaan sellaisinaan (eivätkä tiedostoina) |
-p, --perms
|
Tiedostojen käyttöoikeudet säilyvät |
-g, --group
|
Ryhmän tiedostojen käyttöoikeudet säilyvät |
-t, --times
|
Tiedostojen aikaleimat (viimeisin muutos) säilyvät |
-o, --owner
|
Tiedostojen omistajat säilytetään (vain jos he ovat järjestelmänvalvojia) |
-D, --devices
|
Laitetiedot säilytetään |
-z, --compress
|
Siirrettyjen tiedostojen automaattinen pakkaus |
--compress-level=NUM
|
Määrittää pakkaustason; mahdolliset arvot (”NUM”) ovat 0 (ei pakkausta) ja 9 (maksimipakkaus) |
-v, --verbose
|
Yksityiskohtaisempia tietoja varmuuskopiointiprosessien aikana |
-q, --quiet
|
Piilota kaikki varmuuskopiointiprosessin tiedot (paitsi virheilmoitukset) |
-a, --archive
|
Arkistointitila käytetään oletustilana ja se vastaa vaihtoehtoyhdistelmää — rlptgoD |
-n, --dry-run
|
Testiajo, jossa ei tehdä todellisia muutoksia |
-h, --help
|
Apuvalikko (voidaan käyttää vain ilman lähde- ja kohdekansioiden tai muiden argumenttien määrittämistä) |
--bwlimit=KBPS
|
Rajoita kaistanleveyttä (kilotavua sekunnissa); esim. --bwlimit=30 (raja 30 kbit/s)
|
--exclude=SAMPLE
|
Poista kuvio synkronoinnista; esim. --exclude sample folder (”sample folder” -kansiota ei synkronoida.)
|
--delete
|
Poista kaikki tiedostot, jotka ovat kohdekansiossa mutta eivät lähdekansiossa |
--progress
|
Näytä rsync-varmuuskopioiden kesto ja siirtonopeus |
--list-only
|
Luettele tiedostot varmuuskopion sijaan |
--stats
|
Kattava raportti siirretyistä tiedoista (lukumäärä, koko) |
--max-size=SIZE
|
Määritä tiedostojen enimmäiskoko, esim. --max-size=10MB (vain tiedostot, joiden koko on enintään 10 Mt, siirretään).
|
--ignore-errors
|
Estä varmuuskopiointiprosessin keskeyttäminen virhetilanteessa |