27Jun
rsync on Unix-tyyppisille järjestelmille suunniteltu protokolla, joka tarjoaa uskomattoman monipuolisuuden tietojen varmuuskopiointiin ja synkronointiin. Sitä voidaan käyttää paikallisesti tiedostojen varmuuskopioimiseen eri hakemistoihin tai voidaan konfiguroida synkronoimaan Internetin välityksellä muihin isäntiin.
Sitä voidaan käyttää Windows-järjestelmissä, mutta se on saatavana vain eri porttien kautta( kuten Cygwin), joten tässä puhuessamme Linuxissa. Ensinnäkin meidän on asennettava / päivitettävä rsync-asiakas. Red Hat -jakaumalla komento on "yum install rsync" ja Debianilla se on "sudo apt-get asenna rsync".
Red Hat / CentOS -komento, kun olet kirjautunut pääkäyttäjänä( huomaa, että Red Hattukevat sudo-menetelmää).
Komento Debianista / Ubuntu.
Rsyncin käyttäminen paikallisiin varmuuskopiointiin
Tämän opetusohjelman ensimmäisessä osassa varmuuskopioimme tiedostot hakemistosta1 hakemistoon2.Molemmat hakemistot ovat samassa kiintolevyasemassa, mutta tämä toimisi täsmälleen samalla tavalla, jos hakemistoja oli olemassa kahdessa eri asemassa. Voimme lähestyä tätä eri tavalla, riippuen siitä, millaisia varmuuskopioita haluat määrittää.Useimmissa tarkoituksissa seuraavan koodin rivi riittää:
$ rsync -av --delete /Directory1/ /Directory2/
Edellä oleva koodi synkronoi Directory1: n ja Directory2: n sisällön ja jättää näiden kahden välille eroja. Jos rsync havaitsee, että Directory2: lla on tiedosto, jota Directory1 ei, se poistaa sen. Jos rsync löytää tiedoston, joka on muuttunut, luonut tai poistettu hakemistosta1, se heijastaa samoja muutoksia hakemistoon2.
Rsyncillä on paljon erilaisia kytkimiä, jotka voit mukauttaa sen tarpeisiin. Tässä on se, mitä edellä mainittu koodi kertoo rsyncin tekemistä varmuuskopioiden kanssa:
1. -a = rekursiivinen( haku uudelleen hakemistoihin), linkit( kopioi symlinks-linkkejä symlinksiksi), perms( säilytä käyttöoikeudet), kertaa( säilytä muokkausajat), ryhmäsäilytä ryhmä), omistajan( säilytä omistaja), säilytä laitteen tiedostot ja säilytä erikoistiedostot.
2. -v = verbose. Syy, jonka luulen verbose on tärkeä, on niin, että näet tarkalleen, mitä rsync tukee. Ajattele tätä: Mitä jos kiintolevysi menee huonoon ja alkaa tiedostojen poistamatta tietämättäsi, suoritat rsync-skriptin ja työntää nämä muutokset varmuuskopioihisi, jolloin poistat kaikki sellaiset tiedostot, joita et halunnut saadaeroon?
3. -delete = Tämä kertoo rsync: lle, että kaikki hakemistossa olevat tiedostot, jotka eivät ole Directory1: ssa, poistetaan. Jos valitset tämän vaihtoehdon, suosittelen myös verbose-vaihtoehtoja edellä mainituista syistä.
Edellä olevan komentosarjan avulla tässä on tuotos, jota generoidaan rsyncin avulla varmuuskopioon Directory1: sta Directory2: een. Huomaa, että ilman verbose-kytkintä et saisi tällaisia yksityiskohtaisia tietoja.
Edellä oleva kuvakaappaus kertoo, että File1.txt ja File2.jpg havaittiin olevan joko uusia tai muulla tavoin muutettu Directory2: n olemassa olevista kopioista, joten ne varmuuskopioitiin. Noob tip: Huomaa peräkkäisiä viivoja rsync-komennon hakemistojen lopussa - ne ovat välttämättömiä, muista muistaa ne.
Käymme muutamia käteviä kytkimiä tämän opetusohjelman loppuun asti, mutta muista vain, että täydellinen luettelo voi kirjoittaa "man rsync" ja katso täydellinen luettelo kytkimistä käyttää.
Se kattaa sen paikallisten varmuuskopioiden osalta. Kuten voitte sanoa, rsync on erittäin helppokäyttöinen. Se on hieman monimutkaisempi, kun sitä käytetään synkronoimaan tietoja ulkoisen isäntän kanssa Internetin välityksellä, mutta näytämme sinulle yksinkertaisen, nopean ja turvallisen tavan tehdä niin.
Ulkoisten varmuuskopioiden rsync-käyttö
rsync voidaan konfiguroida useilla eri tavoilla ulkoisiin varmuuskopiointiin, mutta käytämme rsyncin tunnelin käytännöllisintä( myös helpointa ja turvallisinta) menetelmää SSH: n kautta. Useimmilla palvelimilla ja jopa monilla asiakkailla on jo SSH, ja sitä voi käyttää rsync-varmuuskopioihisi. Näytämme prosessin saada yksi Linux-kone varmuuskopioida toiselle paikalliselle verkolle. Prosessi olisi täsmälleen sama, jos yksi isäntä olisi internetissä jonnekin, huomaa vain, että portti 22( tai mikä tahansa portti, johon SSH on määritetty), olisi välitettävä mille tahansa verkkolaitteelle palvelimen puolelle.
Varmista palvelimelta( tietokone, joka vastaanottaa varmuuskopiot), että SSH ja rsync on asennettu.
# yum -y asenna ssh rsync
# sudo apt-get asenna ssh rsync
Muut kuin SSH: n ja rsyncin asentaminen palvelimelle, kaikki mitä todella tarvitsee tehdä on asentaa arkistot palvelimelle, johon haluat varmuuskopioidut tiedostotja varmista, että SSH on lukittu. Varmista, että käyttäjä, jonka aiot käyttää, on monimutkainen salasana, ja se voi myös olla hyvä vaihtaa portti, johon SSH kuuntelee( oletuksena on 22).
Käytämme samaa komentoa, jota käytimme rsyncin käyttämiseen paikallisessa tietokoneessa, mutta siinä on myös tarvittavat lisäykset SSH: n tunnelien rsync-tunnistukseen paikalliselle verkostomme palvelimelle. Käyttäjä "geek" yhdistää "192.168.235.137" ja käyttää samoja kytkimiä kuin edellä( -av -delete) ajetaan seuraavia:
$ rsync -av -delete -e ssh /Directory1/ [email protected]: /Directory2/
Jossinulla on SSH-kuuntelu joissakin muissa portissa kuin 22, sinun on määritettävä portin numero, kuten tässä esimerkissä, jossa käytän porttia 12345:
$ rsync -av -delete -e 'ssh -p 12345' /Directory1/ [email protected]: /Directory2/
Kuten yllä olevasta kuvakaappauksesta näet, verkossa varmuuskopioidut lähdöt ovat melko samanlaisia kuin varmuuskopioinnissa paikallisesti, ainoa muutos on käyttämäsi komento. Huomaa myös, että se pyysi salasanaa. Tämä on todentaa SSH: n avulla. Voit asettaa RSA-avaimet ohittamaan tämän prosessin, mikä yksinkertaistaa myös automaattisen rsyncin automaatiota.
Automaattinen rsync-varmennus
Cronia voidaan käyttää Linuxissa komennoiden, kuten rsyncin, automatisoimiseksi. Cronin avulla voimme Linux-järjestelmämme suorittaa öisin varmuuskopioita, tai kuitenkin usein haluaisit niiden toimivan.
Jos haluat muokata cron-taulukkotiedostoa käyttäjälle, johon olet kirjautunut sisään, suorita:
$ crontab -e
Sinun on tunnettava vi, jotta voit muokata tätä tiedostoa. Kirjoita "I" insertille ja aloita sitten cron-taulukkotiedoston muokkaus.
Cron käyttää seuraavaa syntaksia: tunnin tunti, päivän tunti, kuukauden päivä, vuoden kuukausi, viikonpäivä, komento.
Se voi olla hieman hämmentävää aluksi, joten anna esimerkki. Seuraava komento suorittaa rsync-komennon joka ilta kello 22:
0 22 * * * rsync -av --delete /Directory1/ /Directory2/
Ensimmäinen "0" määrittää tunnin tunti ja "22" määrittää 10 PM.Koska haluamme tämän komennon toimivan päivittäin, jätämme loput kentät tähdellä ja liitä sitten rsync-komento.
Kun olet määrittänyt Cronin, paina paeta ja kirjoita sitten ": wq"( ilman lainausmerkkejä) ja paina enter. Tämä säästää muutoksesi vi.
Cron voi saada paljon enemmän syvällisempää kuin tämä, mutta jatkaa sitä olisi laajempi kuin tämä opetusohjelma. Useimmat ihmiset haluavat vain yksinkertaisen viikoittaisen tai päivittäisen varmuuskopion, ja mitä olemme osoittaneet, voit helposti saavuttaa sen. Lisätietoja Cronista on man-sivuilla.
Muita hyödyllisiä ominaisuuksia
Toinen hyödyllinen asia, voit tehdä varmuuskopiot zip-tiedostoksi. Sinun on määritettävä, mistä haluat zip-tiedoston sijoittamisen, ja rsync sitten hakemisto varmuuskopio-hakemistoosi. Esimerkiksi:
$ zip /ZippedFiles/ archive.zip /Directory1/ & &rsync -av --delete /ZippedFiles/ /Directory2/
Yllä oleva komento vie tiedostot Directory1: sta, asettaa ne /ZippedFiles/ archive.zip-tiedostoon ja sitten rsync tämän hakemiston Directory2: lle. Aluksi saattaa ajatella, että tämä menetelmä osoittautuu tehottomaksi suurille varmuuskopioille, kun otetaan huomioon, että zip-tiedosto muuttuu joka kerta, kun pienintä muutosta tehdään tiedostolle. Rsync kuitenkin vain siirtää muuttuneet tiedot, joten jos zip-tiedosto on 10 gigatavua ja lisäät sitten tekstitiedoston hakemistoon 1, rsync tietää, että kaikki olet lisännyt( vaikka se on zipissä) ja siirtää vain muutaman kilobyytinmuuttuneista tiedoista.
Rsync-varmuuskopioita voidaan salata useilla eri tavoilla. Helpoin tapa on asentaa salaus itse kiintolevylle( se, johon tiedostoja varmuuskopioidaan).Toinen tapa on salata tiedostot ennen niiden lähettämistä etäpalvelimelle( tai muulle kiintolevylle, mitä tahansa varmuuskopioitavaksi).Käsittelemme nämä menetelmät myöhemmissä artikkeleissa.
Mitä vaihtoehtoja ja ominaisuuksia valitset, rsync osoittautuu yhdeksi tehokkaimmista ja monipuolisista varmuuskopiointityökaluista tähän mennessä, ja jopa yksinkertainen rsync-skripti voi säästää sinua menettämästäsi tietoja.