Palvelimien tai jopa henkilökohtaisen Linux-tietokoneen hallinnassa yhtä asiaa ei voida jättää sattuman varaan: tietojen varmuuskopiointia. Riippumatta siitä, kuinka monta varotoimea teemme, laitteistoviat, inhimilliset virheet tai tietoturvahyökkäykset ovat todellinen mahdollisuus, ja juuri tässä rsync astuu kuvaan . Tämä työkalu ei ole vain tiedostojen kopiointiin tarkoitettu ohjelma; se on erittäin tehokas synkronointiprotokolla, jonka avulla voimme nukkua rauhassa tietäen, että tietomme ovat turvassa.
Järjestelmänvalvojien ensisijainen valinta rsyncistä johtuu sen uskomattomasta tehokkuudesta . Toisin kuin muut menetelmät, jotka kopioivat koko tiedoston toistuvasti, rsync siirtää vain muuttuneet osat, mikä säästää valtavasti kaistanleveyttä ja aikaa. Olitpa sitten työpöytäkäyttäjä, joka haluaa luoda tilannekuvia kansioistaan, tai usean palvelimen infrastruktuurin asiantuntija, tämän työkalun hallinta on yksinkertaisesti välttämätöntä.
Miten rsyncin taika toimii
Ymmärtääksesi, miksi rsync on niin nopea, sinun on katsottava konepellin alle. Ohjelma käyttää delta-siirtoalgoritmia . Ensin se vertaa lähde- ja kohdetiedostoja koon ja muokkauspäivämäärän perusteella. Jos se havaitsee muutoksen, se jakaa tiedoston lohkoihin ja laskee tarkistussummat paikantaakseen tarkasti, mitkä fragmentit ovat erilaisia. Vain muokatut lohkot lähetetään , ja kohde rakentaa lopullisen tiedoston uudelleen. Se on paljon älykkäämpi prosessi kuin yksinkertaiset cp- tai scp-komennot.
Asennus ja ensimmäiset askeleet
Useimmissa nykyaikaisissa jakeluissa, kuten Ubuntussa tai Debianissa, rsync on esiasennettuna. Jos jostain syystä tämä ei ole sinun tapauksessasi, voit asentaa sen nopeasti komennolla sudo apt install rsyncRed Hat- tai CentOS-pohjaisissa järjestelmissä komento olisi sudo yum install rsyncAsennuksen jälkeen voit tarkistaa, että kaikki on kunnossa suorittamalla rsync --version terminaalissasi.
Syntaksi ja olennaiset asetukset
Perusrakenne on yksinkertainen: rsync origen destinoSen todellinen potentiaali piilee kuitenkin sen parametreissa. Yksi yleisimmin käytetyistä on -a (tiedostotila)joka on pohjimmiltaan paketti, joka säilyttää käyttöoikeudet, omistajuuden, aikaleimat ja symboliset linkit varmistaen, että kopio on identtinen alkuperäisen kanssa. Jos haluat nähdä, mitä tapahtuu reaaliajassa, lisää -v (sanallinen)Ja jos aiot siirtää tietoja verkon kautta, vaihtoehto -z Se pakkaa tiedot matkan aikana.
Yksi tekninen yksityiskohta, joka usein aiheuttaa päänvaivaa, on viimeinen vinoviiva reiteillä. Jos kirjoitat /directorio/ (vinoviivalla), rsync kopioi kyseisen kansion sisällön. Jos kirjoitat /directorio (ilman kauttaviivaa) kopioi koko kansion kohteeseen. Se on pieni vivahde, mutta sillä on suuri merkitys siinä, onko kyseessä järjestelmällinen rakenne vai kaoottinen kansiokokonaisuus.
Käyttötilanteet ja lisäasetukset
Rsyncin käyttötapoja on useita tarpeistasi riippuen. Jos etsit tavallista varmuuskopiointia , tiedostomuoto on paras vaihtoehto. Mutta jos haluat kohteen olevan lähteen tarkka peili, jolloin lähteessä ei enää ole tiedostoja, sinun on lisättävä `--delete`- vaihtoehto . Tämä on elintärkeää varmuuskopioiden pitämiseksi puhtaina ja roskatiedostojen kertymisen estämiseksi.
Voit myös olla valikoiva. Jos on kansioita, joita et halua varmuuskopioida (kuten välimuistit tai väliaikaiset tiedostot), voit käyttää `--exclude`-parametria määrittääksesi tiettyjä malleja tai luoda tekstitiedoston, jossa on luettelo poissulkemisista, ja kutsua sitä käyttämällä `--exclude-from`-parametria . Niille, jotka käsittelevät erittäin suuria tiedostoja, on olemassa `--max-size`- ja `--min-size`- parametrit , joiden avulla voit suodattaa kopioitavat tiedostot tiedostokoon perusteella.
Automaatio: Unohda komentojen manuaalinen suorittaminen
Manuaaliset varmuuskopiot ovat tie katastrofiin, koska ennemmin tai myöhemmin unohdamme. Klassinen ratkaisu on cronKun muokkaat crontab-tiedostoa komennolla crontab -e, voimme Automatisoi varmuuskopiot Linuxissa rsyncin ja cronin avulla ajoittamalla komennon suoritettavaksi esimerkiksi joka yö kello 3 aamuyöllä. Rivi, kuten 0 3 * * * rsync -av /home/usuario /mnt/backup Hän tekee likaisen työn puolestamme.
Niille, jotka pitävät jostain modernimmasta, on olemassa systemd-ajastimia . Nämä mahdollistavat vankemman hallinnan selkeillä riippuvuuksilla ja paremmalla integroinnilla järjestelmälokien kanssa. Ne konfiguroidaan luomalla .service-tiedosto tehtävälle ja .timer-tiedosto ajoitukselle, mikä tarjoaa paljon tarkempaa hallintaa kuin vanha cron.
Varmuuskopiointistrategiat: Push, Pull ja Instantaneous
Ammattimaisissa ympäristöissä on kaksi pääasiallista lähestymistapaa. Push- mallissa tuotantopalvelin lähettää tietoja varapalvelimelle. Se on yksinkertainen, mutta vaatii ensisijaiselta palvelimelta kirjoitusoikeudet kohteeseen. Pull- malli on päinvastainen: varapalvelin pyytää tietoja. Tämä on paljon turvallisempaa, koska tuotantopalvelimen ei tarvitse tietää varajärjestelmästä eikä sillä tarvitse olla siihen pääsyä.
Jotta yksittäinen virhe ei poista koko historiaa, ihanteellinen ratkaisu on toteuttaa varakiertoKopion päällekirjoittamisen sijaan voimme luoda kansioita nykyisellä päivämäärällä komennolla date +%Y-%m-%dEdistyksellinen tekniikka sisältää kovat linkit kanssa cp -alTämä mahdollistaa useiden historiallisten versioiden (tilannevedosten) käytön ilman levytilan räjähdysmäistä kasvua, koska muuttumattomat tiedostot jaetaan kaikkien versioiden kesken.
rsync-palvelimen (Daemon) määrittäminen
Jos haluat muuttaa koneen erilliseksi varmuuskopiopalvelimeksi, sinun on määritettävä rsync-taustatietoTämä edellyttää tiedoston muokkaamista /etc/rsyncd.confjossa määrittelemme datamoduulit, valtuutetut käyttäjät ja sen, onko käyttöoikeus vain luku -oikeutta. Turvallisuuden vuoksi on tärkeää luoda salattu varmuuskopio kopioillesi ja rajoita salasanatiedostojen käyttöoikeuksia /etc/rsyncd.passwd kanssa chmod 0600 jotta kukaan muu ei niitä pääse lukemaan.
Yleisten ongelmien ratkaisu
Kaikki ei ole täydellistä, ja on normaalia kohdata joitakin esteitä. " Permission denied" -virhe ratkaistaan yleensä varmistamalla, että rsyncin suorittavalla käyttäjällä on lukuoikeudet lähteeseen ja kirjoitusoikeudet kohteeseen. Jos huomaat, että varmuuskopiointi ylikuormittaa internetyhteyttäsi, voit rajoittaa kaistanleveyttä `--bwlimit`- asetuksella.
Toinen yleinen varoitus on, että jotkin tiedostot ovat kadonneet siirron aikana. Tämä tapahtuu yleensä loki- tai väliaikaistiedostojen kanssa, jotka järjestelmä poistaa rsyncin lukiessa niitä. Tämä ei yleensä ole vakava ongelma, ja se voidaan jättää huomiotta tai käsitellä poissulkemisskripteillä.
Suosituksen kultainen sääntö
Työkalusta riippumatta rsyncin tulisi olla osa laajempaa strategiaa, kuten 3-2-1-sääntöä : säilytä tiedoistasi kolme kopiota kahdella eri tallennusvälineellä ja yksi kopio muualla. Muista, että varmuuskopio ei ole todella luotettava, ennen kuin olet varmistanut, että voit palauttaa tiedot . Simulaatioiden suorittaminen -n (kuivakäyttö) -optiolla ennen tuhoavien komentojen suorittamista on käytäntö, joka pelastaa henkesi useammin kuin kerran.
Rsyncin hallitseminen tarkoittaa siirtymistä yksinkertaisista manuaalisista varmuuskopioista automatisoituun, versioituun järjestelmään, joka suojaa tietojen eheyttä. Olipa kyseessä sitten erillisen palvelimen perustaminen, cron-töiden ajoittaminen tai rotaatioiden toteuttaminen kovien linkkien avulla, avainasemassa on johdonmukaisuus ja säännöllinen tietojen varmennus, jotta voidaan varmistaa nopea ja tehokas palautus odottamattomissa olosuhteissa.
Intohimoinen kirjoittaja tavujen maailmasta ja tekniikasta yleensä. Rakastan jakaa tietämykseni kirjoittamalla, ja sen aion tehdä tässä blogissa, näyttää sinulle kaikki mielenkiintoisimmat asiat vempaimista, ohjelmistoista, laitteistoista, teknologisista trendeistä ja muusta. Tavoitteeni on auttaa sinua navigoimaan digitaalisessa maailmassa yksinkertaisella ja viihdyttävällä tavalla.




