Aloittelijan opas tietojen synkronointiin Rsyncin kanssa

Feb 11, 2025
Yksityisyys ja turvallisuus
SÄHKÖISETTÖTÖN SISÄLTÖ

Rsync-protokolla voi olla melko yksinkertainen käyttää tavallisissa varmuuskopiointi- / synkronointityöissä, mutta jotkut sen edistyneemmistä ominaisuuksista voivat yllättää sinut. Tässä artikkelissa näytämme, kuinka suurimmatkin tietojen kerääjät ja varmuuskopioinnin harrastajat voivat käyttää rsynkronointia yhtenä ratkaisuna kaikkiin tietojen redundanssitarpeisiinsa.

Varoitus: Vain Advanced Geeks

Jos istut siellä ja ajattelet "Mikä hitto on rsync?" tai "Käytän rsynciä vain todella yksinkertaisiin tehtäviin", kannattaa ehkä tutustua edelliseen artikkeliin kuinka varmuuskopioida tietosi Linuxissa rsyncin avulla , joka antaa johdannon rsynciin, opastaa asennuksen läpi ja esittelee sen perustoiminnot. Kun olet ymmärtänyt rsyncin käytön (rehellisesti, se ei ole niin monimutkaista) ja olet tyytyväinen Linux-päätelaitteeseen, olet valmis siirtymään tähän edistyneeseen oppaaseen.

Suoritetaan rsync Windowsissa

Ensin saatetaan Windows-lukijamme samalle sivulle kuin Linux-gurumme. Vaikka rsync on rakennettu toimimaan Unixin kaltaisissa järjestelmissä, ei ole mitään syytä, että sinun ei pitäisi voida käyttää sitä yhtä helposti Windowsissa. Cygwin tuottaa upean Linux-sovellusliittymän, jota voimme käyttää rsyncin suorittamiseen, joten siirry heidän verkkosivustolleen ja lataa 32-bittinen tai 64-bittinen version tietokoneestasi riippuen.

Asennus on yksinkertaista; voit pitää kaikki vaihtoehdot oletusarvoissaan, kunnes pääset “Valitse paketit” -näyttöön.

Nyt sinun on tehtävä samat vaiheet Vimille ja SSH: lle, mutta paketit näyttävät hieman erilaisilta, kun menet valitsemaan ne, joten tässä on joitain kuvakaappauksia:

Vimin asentaminen:

SSH: n asentaminen:

Kun olet valinnut nämä kolme pakettia, jatka napsauttamista, kunnes asennus on valmis. Sitten voit avata Cygwinin napsauttamalla kuvaketta, jonka asennusohjelma asetti työpöydällesi.

rsync-komennot: Yksinkertainen edistyneeseen

Nyt kun Windows-käyttäjät ovat samalla sivulla, katsotaanpa yksinkertainen rsync-komento ja osoitetaan, kuinka joidenkin edistyneiden kytkinten käyttö voi tehdä siitä monimutkaisen.

Oletetaan, että sinulla on joukko tiedostoja, jotka on varmuuskopioitava - kuka ei nykyään? Kytket kannettavan kiintolevyn, jotta voit varmuuskopioida tietokoneesi tiedostot, ja annat seuraavan komennon:

rsync -a / home / geek / files / / mnt / usb / files /

Tai, miltä se näyttäisi Windows-tietokoneessa Cygwinin kanssa:

rsync -a / cygdrive / c / tiedostot / / cygdrive / e / tiedostot /

Melko yksinkertainen, ja siinä vaiheessa ei todellakaan tarvitse käyttää rsync-tiedostoa, koska voit vain vetää ja pudottaa tiedostoja. Jos toisella kiintolevylläsi on jo joitain tiedostoja ja tarvitset vain päivitetyt versiot sekä edellisen synkronoinnin jälkeen luodut tiedostot, tämä komento on kätevä, koska se lähettää uudet tiedot vain kiintolevylle. Suurilla tiedostoilla ja varsinkin tiedostojen siirtämisellä Internetissä on iso juttu.

Tiedostojen varmuuskopioiminen ulkoiselle kiintolevylle ja kiintolevyn pitäminen samassa paikassa kuin tietokoneesi on erittäin huono idea, joten katsotaanpa, mitä tiedostojen lähettäminen Internetin kautta toiseen tietokoneeseen edellyttää ( vuokraamasi, perheenjäsenesi jne.).

rsync -av --delete -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Yllä oleva komento lähettää tiedostosi toiseen tietokoneeseen, jonka IP-osoite on 10.1.1.1. Se poistaa vieraat tiedostot kohdekohdasta, jota ei enää ole lähdekoodihakemistossa, tulostaa siirrettävät tiedostonimet, jotta sinulla on käsitys siitä, mitä tapahtuu, ja tunnelin rynkronoi portin 12345 SSH: n kautta.

-а -в -е --делете kytkimet ovat alkeellisimpia ja yleisimmin käytettyjä; sinun pitäisi jo tietää paljon niistä, jos luet tätä opetusohjelmaa. Käytään läpi muutamat kytkimet, jotka joskus jätetään huomiotta, mutta uskomattoman hyödyllisiä:

- edistyminen - Tämän kytkimen avulla voimme nähdä kunkin tiedoston siirron edistymisen. Se on erityisen hyödyllinen siirrettäessä suuria tiedostoja Internetin kautta, mutta se voi tuottaa mielettömän määrän tietoa, kun vain siirrät pieniä tiedostoja nopean verkon kautta.

Rsync-komento - edistyminen vaihda varmuuskopioinnin ollessa käynnissä:

--osittainen - Tämä on toinen kytkin, joka on erityisen hyödyllinen siirrettäessä suuria tiedostoja Internetissä. Jos rsync keskeytyy jostain syystä tiedostojen siirron keskelle, osittain siirretty tiedosto säilytetään kohdehakemistossa ja siirtoa jatketaan siitä, mihin se päättyi, kun rsync-komento on suoritettu uudelleen. Kun siirrät suuria tiedostoja Internetissä (esimerkiksi pari gigatavua), ei ole mitään pahempaa kuin muutaman sekunnin Internet-katkos, sininen näyttö tai inhimillinen virhe laukaisee tiedostosi siirron ja sinun on aloitettava alusta alusta.

-P - tämä kytkin yhdistää - edistyminen ja --osittainen , joten käytä sitä sen sijaan, että se tekee rsync-komennostasi pienemmän.

-kanssa tai --puristaa - Tämän kytkimen avulla rsync pakkaa tiedostotiedot siirrettäessä ja vähentää määränpäähän lähetettävien tietojen määrää. Se on oikeastaan ​​melko yleinen kytkin, mutta ei ole läheskään välttämätön, vaan hyödyttää todella vain siirtymisestä hitaiden yhteyksien välillä, eikä se tee mitään seuraaville tiedostotyypeille: 7z, avi, bz2, deb, g, z iso, jpeg, jpg, mov, mp3, mp4, ogg, rpm, tbz, tgz, z, zip.

-h tai - ihmisen luettavissa - Jos käytät - edistyminen kytkin, haluat varmasti käyttää myös tätä. Toisin sanoen, ellet halua muuntaa tavuja megatavuiksi lennossa. -h switch muuntaa kaikki tuotetut numerot ihmisen luettavaan muotoon, joten voit todella ymmärtää siirrettävän datan määrän.

-n tai --kuivaharjoittelu - Tämä kytkin on välttämätön tietää, kun kirjoitat ensin rsync-komentosarjaasi ja testaat sitä. Se suorittaa kokeilun, mutta ei todellakaan tee mitään muutoksia - mahdolliset muutokset toimitetaan edelleen normaalisti, joten voit lukea kaiken läpi ja varmistaa, että se näyttää hyvältä, ennen kuin käynnistät komentosarjan tuotantoon.

-R tai --suhteellinen - Tätä kytkintä on käytettävä, jos kohdehakemistoa ei vielä ole olemassa. Käytämme tätä vaihtoehtoa myöhemmin tässä oppaassa, jotta voimme tehdä hakemistoja kohdekoneelle aikaleimoilla kansion nimissä.

--poissulkea - Tätä kytkintä käytetään linkittämään poissulkemisluetteloon, joka sisältää hakemistopolut, joita et halua varmuuskopioida. Se tarvitsee vain tavallisen tekstitiedoston, jossa on hakemisto tai tiedostopolku kullakin rivillä.

- sisällytä - Samankaltainen kuin --poissulkea , mutta se linkittää tiedostoon, joka sisältää hakemistot ja varmuuskopioitavien tietojen tiedostopolut.

--tilastot - Ei oikeastaan ​​tärkeä kytkin millään tavalla, mutta jos olet sysadmin, voi olla kätevää tietää jokaisen varmuuskopion yksityiskohtaiset tilastot, jotta voit seurata verkon kautta lähetettävän liikenteen määrää ja vastaavaa.

--loki tiedosto - Tämän avulla voit lähettää rsync-lähdön lokitiedostoon. Suosittelemme ehdottomasti tätä automaattisille varmuuskopioille, joissa et ole paikalla, jotta voit lukea itse tuotoksen. Anna lokitiedostoille aina kerran vapaa-ajalla varmistaaksesi, että kaikki toimii oikein. Se on myös ratkaiseva kytkin sysadminin käytössä, joten et voi jäädä miettimään, kuinka varmuuskopiot epäonnistuivat, kun jätit harjoittelijan vastuuseen.

Tarkastellaan rsync-komentoamme nyt, kun muutama kytkin on lisätty:

rsync -avzhP --delete --stats --log-file = / home / geek / rsynclogs / backup.log --exclude-from '/home/geek/exclude.txt' -e 'ssh-12345' / home / geek / files / [email protected]: / home / geek2 / files /

Komento on edelleen melko yksinkertainen, mutta emme ole vielä luoneet kunnollista varmuuskopioratkaisua. Vaikka tiedostomme ovatkin nyt kahdessa eri fyysisessä paikassa, tämä varmuuskopio ei suojaa meitä yhdeltä tärkeimmistä tietojen menetyksen syistä: inhimillisiltä virheiltä.

Tilannekuvan varmuuskopiot

Jos poistat vahingossa tiedoston, virus vahingoittaa tiedostojasi tai tapahtuu jotain muuta, jolloin tiedostojasi muutetaan epätoivottavasti, ja sitten suoritat rsync-varmuuskopion, varmuuskopioidut tiedot korvataan ei-toivottujen muutosten kanssa. Kun sellainen tapahtuu (ei jos, mutta milloin), varmuuskopioratkaisu ei tehnyt mitään suojaamaan sinua tietojen menetykseltä.

Rsyncin luoja tajusi tämän ja lisäsi --varmuuskopioida ja - varmuuskopio-ohj argumentteja, jotta käyttäjät voisivat suorittaa eri varmuuskopioita. Hyvin ensimmäinen esimerkki rsyncin verkkosivustolta näyttää komentosarjan, jossa täydellinen varmuuskopio suoritetaan seitsemän päivän välein, ja sitten näiden tiedostojen muutokset varmuuskopioidaan päivittäin erillisiin hakemistoihin. Tämän menetelmän ongelmana on, että tiedostojen palauttamiseksi sinun on palautettava ne tehokkaasti seitsemän eri kertaa. Lisäksi useimmat nörtit suorittavat varmuuskopiot useita kertoja päivässä, joten sinulla voi olla helposti yli 20 erilaista varmuuskopiohakemistoa milloin tahansa. Tiedostojesi palauttaminen ei ole vain tuskaa, vaan jopa varmuuskopioitujen tietojen katselu voi olla erittäin aikaa vievää - sinun on tiedettävä, milloin tiedosto on viimeksi muutettu, jotta löydettäisiin uusin varmuuskopioitu kopio. Kaiken lisäksi on tehotonta suorittaa vain viikoittaisia ​​(tai joissakin tapauksissa harvemmin) lisävarmuuskopioita.

Snapshot-varmuuskopiot pelastukseen! Snapshot-varmuuskopiot eivät ole muuta kuin inkrementaaliset varmuuskopiot, mutta ne käyttävät kovia linkkejä alkuperäisen lähteen tiedostorakenteen säilyttämiseksi. Aluksi voi olla vaikeaa kietoa päätäsi, joten katsotaanpa esimerkkiä.

Teeskentele, että meillä on käynnissä varmuuskopiointiohjelma, joka varmuuskopioi tietomme automaattisesti kahden tunnin välein. Aina kun rsync tekee tämän, se nimeää jokaisen varmuuskopion muodossa: Varmuuskopio-kuukausi-päivä-vuosi-aika.

Joten tyypillisen päivän lopussa meillä olisi kohdeluettelossa oleva kansioiden luettelo seuraavasti:

Kun siirryt mistä tahansa näistä hakemistoista, näet kaikki lähdehakemiston tiedostot täsmälleen sellaisina kuin ne olivat tuolloin. Silti ei ole kaksoiskappaleita kahdessa hakemistossa. rsync toteuttaa tämän käyttämällä kovaa linkitystä --link-dest = SUORA Perustelu.

Tietenkin, jotta saisimme nämä kauniisti ja siististi päivätyt hakemistonimet, joudumme hieman parantamaan rsync-komentosarjaamme. Katsotaanpa, mitä tällaisen varmuuskopiointiratkaisun toteuttaminen vaatii, ja sitten selitämme komentosarjan yksityiskohtaisemmin:

#! / Bin / Bash

#copy old time.txt to time2.txt

kyllä ​​| cp ~ / backup / time.txt ~ / backup / time2.txt

# overwrite old time.txt-tiedosto uudella ajalla

echo `date + '% F-% I% p" `> ~ / backup / time.txt

# tee lokitiedosto

echo “”> ~ / backup / rsync-`date + ”% F-% I% p” `.log

#rsync-komento

rsync -avzhPR --chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r --poista --stats --log-file = ~ / backup / rsync-`date + ”% F-% I% p ”` .log --exclude-from '~ / poissulkea.txt' - link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt` -e 'ssh-12345' / home / geek / files / [email protected]: / home / geek2 / files / `päivämäärä +"% F-% I% p "" /

# älä unohda lukea lokitiedostoa ja laittaa se varmuuskopion kanssa

scp -P 12345 ~ / backup / rsync-"cat ~ / backup / time.txt" .log [email protected]: / home / geek2 / files / "cat ~ / backup / time.txt" / rsync-"cat ~ / backup / time.txt`.log

Se olisi tyypillinen snapshot rsync -komentosarja. Jos menetämme sinut jonnekin, leikataan se pala palalta:

Skriptimme ensimmäinen rivi kopioi time.txt-tiedoston time2.txt-tiedostoon. Kyllä-putki on vahvistaa, että haluamme korvata tiedoston. Seuraavaksi otamme nykyisen ajan ja laitamme sen time.txt-tiedostoon. Nämä tiedostot ovat käteviä myöhemmin.

Seuraava rivi tekee rsync-lokitiedoston ja nimeää sen rsync-date.log (missä päivämäärä on todellinen päivämäärä ja aika).

Nyt monimutkainen rsync-komento, josta olemme varoittaneet sinua:

-avzhPR, -e, --delete, --stats, --log-tiedosto, --exclude-from, --link-dest - Vain kytkimet, joista puhuimme aiemmin; vieritä ylös, jos tarvitset päivitystä.

--- ch on myös d = zu = rwx, D go = rx, fu = rw, F go = r - Nämä ovat kohdehakemiston käyttöoikeudet. Koska teemme tämän hakemiston keskellä rsync-komentosarjaa, meidän on määritettävä oikeudet, jotta käyttäjä voi kirjoittaa tiedostoja siihen.

Päivämäärä- ja kissa-komentojen käyttö

Käymme läpi kaikki päivämäärä- ja kissa-komennot rsync-komennossa niiden järjestyksessä. Huomaa: Olemme tietoisia siitä, että tällä toiminnolla on muita tapoja, erityisesti käyttämällä muuttujien ilmoittamista, mutta tässä oppaassa olemme päättäneet käyttää tätä menetelmää.

Lokitiedosto määritetään seuraavasti:

~ / backup / rsync-`date + ”% F-% I% p” `.log

Vaihtoehtoisesti olisimme voineet määrittää sen seuraavasti:

~ / backup / rsync-`cat ~ / backup / time.txt`.log

Joko niin, --loki tiedosto komennon pitäisi pystyä löytämään aiemmin luotu päivätty lokitiedosto ja kirjoittamaan siihen.

Linkin kohdetiedosto on määritetty seuraavasti:

--link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt '

Tämä tarkoittaa, että --link-dest -komennolle annetaan edellisen varmuuskopion hakemisto. Jos suoritamme varmuuskopioita kahden tunnin välein ja kello 16 on tällä hetkellä, kun suoritimme tämän komentosarjan, niin --link-dest komento etsii klo 14.00 luotua hakemistoa ja siirtää vain sen jälkeen muuttuneet tiedot (jos sellaisia ​​on).

Toistettavaksi siksi time.txt kopioidaan komentosarjan alkuun time2.txt-tiedostoon, joten --link-dest komento voi viitata siihen aikaan myöhemmin.

Kohdehakemisto määritetään seuraavasti:

[email protected]: / home / geek2 / files / `päivämäärä +"% F-% I% p ""

Tämä komento vain asettaa lähdetiedostot hakemistoon, jolla on nykyisen päivämäärän ja kellonimen otsikko.

Lopuksi varmistamme, että kopio lokitiedostosta sijoitetaan varmuuskopioon.

scp -P 12345 ~ / backup / rsync-"cat ~ / backup / time.txt" .log [email protected]: / home / geek2 / files / "cat ~ / backup / time.txt" / rsync-"cat ~ / backup / time.txt`.log

Käytämme suojattua kopiota portissa 12345 ottaaksesi rsync-lokin ja sijoittamalla sen oikeaan hakemistoon. Oikean lokitiedoston valitsemiseksi ja varmistaaksesi, että se pääsee oikeaan paikkaan, time.txt-tiedostoon on viitattava cat-komennolla. Jos mietit, miksi päätimme kattaa time.txt-tiedoston sen sijaan, että käyttäisimme vain päivämäärä-komentoa, se johtuu siitä, että paljon aikaa olisi voinut tapahtua rsync-komennon ollessa käynnissä, joten varmistaaksemme, että meillä on oikea aika, me vain aiemmin luoma tekstidokumentti.

Automaatio

Käyttää Cron on Linux tai Tehtävien ajoitus Windowsissa automatisoida rsync-komentosarjasi. Yksi asia, johon sinun on oltava varovainen, on varmistaa, että lopetat käynnissä olevat rsync-prosessit ennen uuden jatkamista. Tehtävien ajoitus näyttää sulkevan kaikki jo käynnissä olevat instanssit automaattisesti, mutta Linux-käyttöjärjestelmässä sinun on oltava hieman luovempi.

Useimmat Linux-jakelut voivat käyttää pkill-komentoa, joten muista vain lisätä seuraava rsync-komentosarjan alkuun:

pkill -9 rsync

Salaus

Ei, emme ole vielä valmiita. Meillä on vihdoin upea (ja ilmainen!) Varmuuskopiointiratkaisu paikallaan, mutta kaikki tiedostomme ovat edelleen alttiita varkauksille. Toivottavasti varmuuskopioit tiedostosi johonkin satojen mailien päähän. Riippumatta siitä, kuinka kaukana oleva paikka on turvallinen, varkaus ja hakkerointi voivat aina olla ongelmia.

Esimerkeissämme olemme tunnistaneet kaiken rsync-liikenteen SSH: n kautta, joten kaikki tiedostomme on salattu kuljetettaessa määränpäähän. Meidän on kuitenkin varmistettava, että kohde on yhtä turvallinen. Muista, että rsync salaa tietosi vain siirrettäessä, mutta tiedostot ovat auki, kun ne saapuvat määränpäähän.

Yksi rsyncin parhaista ominaisuuksista on, että se siirtää vain muutokset jokaisessa tiedostossa. Jos kaikki tiedostosi on salattu ja teet yhden pienen muutoksen, koko tiedosto on lähetettävä uudelleen sen seurauksena, että salaus satunnaistaa kaikki tiedot muutosten jälkeen.

Tästä syystä on parasta / helpoin käyttää jonkin tyyppistä levysalausta, kuten BitLocker Windowsille tai dm-krypta Linuxille. Näin tietosi on suojattu varkauden sattuessa, mutta tiedostoja voidaan siirtää rsyncin avulla, eikä salauksesi estä sen toimintaa. On olemassa muita vaihtoehtoja, jotka toimivat samalla tavalla kuin rsync tai jopa toteuttavat jonkinlaisen sen, kuten Duplicity, mutta niiltä puuttuu joitain ominaisuuksia, joita rsync tarjoaa.

Kun olet määrittänyt tilannevedoksen varmuuskopiot muualle kuin paikalle ja salannut lähde- ja kohdekiintolevyt, anna itsellesi takaa, että hallitset rsync-sovellusta ja otat käyttöön mahdollisimman hölmöimättömän tietojen varmuuskopiointiratkaisun.

.entry-sisältö .entry-alatunniste

How To Automatically Backup Data On Linux Using "rsync"

Ubuntu Server 18.04 Administration Guide Part 14 - Transferring Files With Rsync

Rsync For Windows 10

How To Backup And Encrypt Data Using Rsync And VeraCrypt On MacOS (see Change Log)

Rsync Backup On Linux

How To Copy & Transfer Data From Netgear ReadyNAS To Another NAS [Backup Using RSync]


Yksityisyys ja turvallisuus - Suosituimmat artikkelit

Mitä ovat oranssit ja vihreät pisteet iPhonessa tai iPadissa?

Yksityisyys ja turvallisuus Sep 22, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Omena IPhonessa tai iPadissa näet oranssia ja vihreitä pisteitä näytön oikeassa yläkulmassa - matkapuhelin-,..


Pöytätietokoneen synkronointi Google Driven (ja Google Kuvien) kanssa

Yksityisyys ja turvallisuus Jul 21, 2025

Google on tehnyt oman osansa varmistaakseen, että kaikilla on varmuuskopio tärkeistä tiedoista, ja se julkaisi äskettäin uuden työkalun Windows- ja Mac-käyttäjille viemään..


Valokuvien lähettäminen iPhonesta, kun sijaintitiedot on poistettu

Yksityisyys ja turvallisuus Apr 21, 2025

Se, että haluat jakaa valokuvan jonkun kanssa, ei välttämättä tarkoita sitä, että haluat jakaa tarkan sijaintisi heidän kanssaan. Onneksi valokuvan lähettäminen on helppoa..


Vieraskäyttäjätilin määrittäminen macOS: iin

Yksityisyys ja turvallisuus Mar 10, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Jos lainat Macisi ystävällesi tai perheenjäsenelle edes lyhyeksi ajaksi, et halua luottaa heihin tililläsi. Voit luoda uuden tilin tai vain pyytä..


Android Stagefright Exploit: Mitä sinun on tiedettävä ja miten suojata itseäsi

Yksityisyys ja turvallisuus Aug 12, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Androidilla on valtava tietoturvavirhe komponentissa, joka tunnetaan nimellä “Stagefright”. Pelkästään haitallisen MMS-viestin vastaanottamine..


XProtect Explained: Kuinka Macin sisäänrakennettu haittaohjelmien torjuntaohjelma toimii

Yksityisyys ja turvallisuus May 18, 2025

Macissa on sisäänrakennettu haittaohjelmien (tai virusten torjunta) toiminto. Se toimii erittäin paljon kuin virustorjuntaohjelmisto Windowsissa, tutkimalla käyttämiäsi sovell..


Kuinka pakottaa tietokoneesi pitämään yksityinen IP-osoite

Yksityisyys ja turvallisuus Sep 14, 2025

Joskus tarvitset tietokonettasi säilyttämään saman paikallisen IP-osoitteen joka kerta, kun se käynnistyy. Porttien edelleenlähettäminen, verkon sisällön jakaminen ja muut ..


Muuta iPhone tai iPod Touch tietokoneesi kauko-ohjaimeksi

Yksityisyys ja turvallisuus Sep 18, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Etsitkö tapaa hallita tietokonettasi huoneen eri puolilta? Tänään tarkastelemme, kuinka voit muuttaa iPhonen ja iPod Touchin kaukosäätimeksi HippoRemote L..


Luokat