27Jun

Kako koristiti rsync za sigurnosno kopiranje podataka na Linuxu

zastava

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" i na Debianu je "sudo apt-get instaliraj rsync".

rsync1
Naredba za Red Hat / CentOS nakon prijave kao root( imajte na umu da neke nedavne distribucije Red Hatpodržavaju sudo metodu).

rsync4
Naredba Debian / Ubuntu.

Korištenje rsync 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. Za većinu svrha, dovoljan je sljedeći redak koda:

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

Kôd gore će sinkronizirati sadržaj Directory1 do 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 kako biste ga personalizirali prema vašim specifičnim potrebama. Evo što spomenuti kôd govori rsync vezan uz sigurnosne kopije:

1. -a = rekurzivni( recursive u mape), linkovi( kopirajte simbole kao simboličke veze), perms( sačuvajte dopuštenja), vremena( sačuvajte vremena promjena), grupičuvati grupu), vlasnika( zadržati vlasnika), sačuvati datoteke uređaja i sačuvati posebne datoteke.
2. -v = glagol. 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 dobitiriješ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 korištenjem rsync za backup Adresar1 do Directory2.Imajte na umu da bez prebacivanja bez prekida, ne biste primali takve detaljne informacije.

rsync2

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, i stoga su sigurnosno kopirane. Noob tip: Obavijestite krajnje kose na kraju direktorija u mojoj rsync naredbi - one su potrebne, svakako ih zapamtite.

Idemo preko nekoliko praktičnih preklopnika na kraju ovog vodiča, ali samo zapamtite da biste vidjeli puni unos možete upisati "čovjek rsync" i pogledati kompletan popis prekidača za korištenje.

To o tome pokriva sve do lokalnih sigurnosnih kopija. Kao što možete reći, rsync je vrlo jednostavan za korištenje. Slaže se složeniji kada ga upotrebljavate za sinkronizaciju podataka s vanjskim računalom putem interneta, ali ćemo Vam pokazati jednostavan, brz i siguran način za to.

Korištenje rsync za vanjske sigurnosne kopije

rsync može se konfigurirati na nekoliko različitih načina za vanjske sigurnosne kopije, ali ćemo ići preko najprikladnije( i najlakše i najsigurnije) metode tuneliranja rsync preko 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 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 primati sigurnosne kopije), provjerite jesu li instalirani SSH i rsync.

# yum -y instalirajte ssh rsync

# sudo apt-get instalirajte ssh rsync

Osim instalacije SSH i rsynca na poslužitelj, sve što treba napraviti jest postavljanje spremišta na poslužitelju na kojem želite da datoteke budu podlogomup i provjerite je li 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 napravili 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 koristeći iste sklopke kao gore( -av -delete) izvodimo sljedeće:

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

Akoimate SSH koji sluša na nekom drugom portu osim 22, trebali biste navesti broj priključka, kao u ovom primjeru gdje koristim priključak 12345:

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

rsync3

Kao što se vidi na snimci zaslona gore, izlaz koji se daje prilikom sigurnosne kopije preko mreže je prilično isti kao i pri sigurnosnim kopiranjem lokalno, 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 rsync sigurnosnih kopija

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.

Za uređivanje datoteke cron tablice za korisnika na koji ste prijavljeni, pokrenite:

$ crontab -e

Morat ćete biti upoznati s vi-om 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: minutu sata, sata dana, dana u mjesecu, mjesecu godine, danu tjednu, naredbi.

Na početku može biti pomalo zbunjujuće, stoga mi dopustite da vam dam primjer. Sljedeća naredba će pokrenuti naredbu rsync svake noći u 22:00:

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

Prvi "0" određuje 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.

Kada 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

Druga korisna stvar koju možete učiniti je staviti vaše 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/

rsync5

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 kilobajtapromijenjenih podataka.

Postoji nekoliko različitih načina na koje možete šifrirati svoje rsync sigurnosne kopije. Najjednostavnija je metoda instalacija šifriranja na samom tvrdom disku( onu na kojoj 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 opcije 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 vas spasiti od gubitka podataka.