If-Koubou

Kako koristiti rsync za sigurnosno kopiranje podataka na Linuxu

Kako koristiti rsync za sigurnosno kopiranje podataka na Linuxu (Kako da)

rsync je protokol izgrađen za Unix-slične sustave koji pruža nevjerojatnu svestranost za sigurnosno kopiranje i sinkronizaciju podataka. Može se koristiti lokalno za sigurnosno kopiranje datoteka u različite direktorije ili se može konfigurirati za sinkronizaciju preko Interneta drugim hostovima.

Može se koristiti na Windows sustavima, ali je dostupan samo kroz različite portove (kao što je Cygwin), tako da u ovom načinu rada govorimo o postavljanju na Linuxu. Prvo, moramo instalirati / ažurirati rsync klijent. Na Red Hat distribucijama, naredba je "yum install rsync", a na Debianu je "sudo apt-get instaliraj rsync".


Naredba na Red Hat / CentOS, nakon prijavljivanja kao root (imajte na umu da neke nedavne distribucije Red Hat podržavaju sudo metodu).


Naredba Debian / Ubuntu.

Upotreba rsynca za lokalne sigurnosne kopije

U prvom dijelu ovog vodiča ćemo sigurnosno kopirati datoteke iz Directory1 do Directory2. Oba su navedena direktorija na istom hard disku, ali to bi točno funkcioniralo ako su direktori postojali na dva različita pogona. Postoji nekoliko različitih načina na koje možemo pristupiti ovome, ovisno o vrsti sigurnosnih kopija koje želite konfigurirati. U većini svrha, dovoljno je sljedeće linije koda:

$ rsync -av --delete / Directory1 / / Directory2 /

Gornji kôd sinkronizira sadržaj Directory1 na Directory2 i ne ostavlja razlike između ova dva. Ako rsync ustanovi da Directory2 ima datoteku koju Directory1 ne, to će je izbrisati. Ako rsync pronađe datoteku koja je promijenjena, stvorena ili obrisana u imeniku1, ona će odraziti te iste izmjene u direktorij2.

Postoji mnogo različitih preklopnika koje možete koristiti za rsync da biste ga personalizirali prema vašim specifičnim potrebama. Evo što navedeni kôd govori rsync vezan uz sigurnosne kopije:

1. -a = rekurzivna (recurse u vodi), linkovi (copy simboličke veze kao simboličke veze), perms (sačuvati dozvole), vrijeme (sačuvati puta modifikacije), skupina (sačuvati skupinu), vlasnik (sačuvati vlasnik), sačuvati datoteke uređaja, te sačuvati posebne datoteke.
2. -v = zbunjujuće. Razlog zašto mislim da je važan je tako da možete vidjeti točno ono što rsync podupire. Razmislite o ovome: Što ako vaš tvrdi disk ide loše i počne brisati datoteke bez vašeg znanja, pokrenite rsync skriptu i gurate te promjene na sigurnosne kopije čime ćete izbrisati sve instance datoteke koju niste željeli dobiti riješiti se?
3. -delete = Ovo govori rsync da izbriše sve datoteke koje se nalaze u Directory2 koje nisu u Directory1. Ako se odlučite za tu opciju, preporučujem i upotrebu opcija iz više razloga, iz gore navedenih razloga.

Korištenje gore navedene skripte, ovdje je izlaz generiran pomoću rsync za backup Adresar 1 do Directory2. Imajte na umu da bez prebacivanja bez prekida, ne biste primali takve detaljne informacije.

Gornji screenshot nam govori da su File1.txt i File2.jpg otkriveni kao da su novi ili na neki drugi način promijenjeni iz kopija koje postoje u direktoriju2, pa su stoga izradili sigurnosnu kopiju. Noob tip: Obavijestite krajnje kose na kraju direktorija u mojoj rsync naredbi - one su potrebne, svakako ih zapamtite.

Otići ćemo još nekoliko praktičnih prekidača do kraja ovog vodiča, ali samo zapamtite da biste vidjeli potpuni popis možete upisati "čovjek rsync" i pregledati kompletan popis prekidača za upotrebu.

To se odnosi na lokalne sigurnosne kopije. Kao što možete reći, rsync je vrlo jednostavan za korištenje. Ponešto je složeniji kada ga upotrebljavate za sinkronizaciju podataka s vanjskim računalom putem interneta, no pokazat ćemo vam jednostavan, brz i siguran način za to.

Upotreba rsynca za vanjske sigurnosne kopije

rsync se može konfigurirati na nekoliko različitih načina za vanjske sigurnosne kopije, ali ćemo ići preko praktične (i najlakše i najsigurnije) metode tuneliranja rsync kroz SSH. Većina poslužitelja, pa čak i mnogi klijenti već imaju SSH i mogu se koristiti za vaše rsync sigurnosne kopije. Pokazat ćemo vam postupak za dobivanje jednog Linux stroj za backup na drugu na lokalnoj mreži. Postupak bi bio isti ako neki host bude negdje negdje na internetu, samo napominjemo da će port 22 (ili bilo koji port s kojim ste konfigurirali SSH) trebali biti proslijeđeni na bilo kojoj mrežnoj opremi na strani poslužitelja.

Na poslužitelju (računalo koje će primiti sigurnosnu kopiju), provjerite jesu li instalirani SSH i rsync.

# yum -y instalirajte ssh rsync

# sudo apt-get instalirajte ssh rsync

Osim instalacije SSH i rsync na poslužitelju, sve što treba učiniti je postavljanje spremišta na poslužitelju na kojem želite sigurnosno kopirati datoteke i pobrinuti se da je SSH zaključan. Provjerite je li korisnik koji namjeravate koristiti ima složenu lozinku, a preporučujemo i prebacivanje priključka na koji SSH sluša (zadana postavka je 22).

Mi ćemo pokrenuti istu naredbu koju smo učinili za korištenje rsync na lokalnom računalu, ali uključuju potrebne dodatke za tunneling rsync preko SSH na poslužitelj na mojoj lokalnoj mreži. Za korisnika "geek" koji se povezuje s "192.168.235.137" i upotrebom istih prekidača kao što je gore (-av -delete) izvodimo sljedeće:

$ rsync -av -delete -e ssh / Directory1 / [email protected]: / Directory2 /

Ako slušate SSH na nekom drugom priključku osim 22, trebali biste navesti broj priključka, kao što je ovaj primjer gdje koristim priključak 12345:

$ rsync -av -delete -e 'ssh -p 12345' / Directory1 / [email protected]: / Directory2 /

Kao što možete vidjeti na snimci zaslona iznad, izlaz koji se daje prilikom sigurnosnog kopiranja preko mreže prilično je isti kao kod lokalne izrade sigurnosnih kopija, jedina stvar koja se mijenja je naredba koju koristite. Također primijetite da je zatražila zaporku. Ovo je za autentifikaciju s SSH.Možete postaviti RSA ključeve da biste preskočili ovaj postupak, što će pojednostaviti i automatizaciju rsync.

Automatiziranje sigurnosnih kopija rsync

Cron se može koristiti na Linuxu za automatizaciju izvršavanja naredbi, kao što je rsync. Korištenje programa Cron možemo imati naš Linux sustav za izvođenje noćnih sigurnosnih kopija, ili pak često želite da se prikazuju.

Da biste uredili datoteku s cron tablicom za korisnika na koji ste prijavljeni, pokrenite:

$ crontab-e

Morat ćete biti upoznati s vi da biste uredili tu datoteku. Upišite "I" za umetanje, a zatim započnite s uređivanjem datoteke cron tablice.

Cron koristi sljedeću sintaksu: minuta sata, sata dana, dana u mjesecu, mjesecu godine, danu tjednu, naredbi.

Može biti malo zbunjujuće na početku, pa neka mi vam dajem primjer. Sljedeća naredba će pokrenuti naredbu rsync svake noći u 22:00:

0 22 * ​​* * rsync -av --delete / Directory1 / / Directory2 /

Prva "0" navodi minutu sata, a "22" navodi 10 sati. Budući da ovu naredbu želimo pokrenuti svakodnevno, ostavit ćemo ostala polja sa zvjezdicama, a zatim zalijepite naredbu rsync.

Nakon što završite konfiguriranje Cron, pritisnite tipku escape, a zatim upišite ": wq" (bez navodnika) i pritisnite enter. To će spasiti vaše promjene u vi.

Cron može dobiti mnogo dublje od ovoga, ali da bi se o tome bavili, to bi bilo izvan opsega ovog vodiča. Većina ljudi će samo htjeti jednostavnu tjednu ili dnevnu kopiju, a ono što smo pokazali možete to lako ostvariti. Više informacija o Cronu potražite na stranicama čovjeka.

Ostale korisne značajke

Još jedna korisna stvar koju možete učiniti jest staviti sigurnosne kopije u zip datoteku. Morat ćete odrediti gdje želite postaviti zip datoteku, a zatim rsync taj direktorij u svoj rezervni direktorij. Na primjer:

$ zip /ZippedFiles/archive.zip / Directory1 / && rsync -av --delete / ZippedFiles / / Directory2 /

Naredba gore preuzima datoteke iz Directory1, stavlja ih u /ZippedFiles/archive.zip i zatim rsyncs taj direktorij u Directory2. U početku, možda mislite da će ova metoda biti neučinkovita za velike sigurnosne kopije, s obzirom da se zip datoteka mijenja svaki put kada se najmanji promjena izvršava u datoteci. Međutim, rsync samo prenosi promijenjene podatke, pa ako je vaša zip datoteka 10 GB, a zatim dodate tekstnu datoteku u direktorij1, rsync će znati da je sve što ste dodali (iako je u zipu) i prenijeti samo nekoliko kilobajta promijenjenih podataka.

Postoji nekoliko različitih načina na koje možete šifrirati svoje rsync sigurnosne kopije. Najjednostavnija je metoda instalirati šifriranje na sam tvrdi disk (onaj na kojem se sigurnosno kopiraju datoteke). Drugi način je šifriranje datoteka prije nego što ih šaljete na udaljeni poslužitelj (ili drugi tvrdi disk, bez obzira na to čime se sigurnosno kopirajte). Obradit ćemo ove metode u kasnijim člancima.

Bez obzira na mogućnosti i značajke koje odaberete, rsync se dokazuje kao jedan od najučinkovitijih i svestranih sigurnosnih alata do sada, pa čak i jednostavna rsync skripta može vam uštedjeti gubitak podataka.