Početna » kako da » Kako koristiti rsync za sigurnosno kopiranje podataka na Linuxu

    Kako koristiti rsync za sigurnosno kopiranje podataka na Linuxu

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

    Može se koristiti na Windows sustavima, ali je dostupan samo kroz razne portove (kao što je Cygwin), tako da ćemo u ovom uputstvu govoriti o postavljanju na Linux. Prvo, trebamo instalirati / ažurirati rsync klijent. Na Red Hat distribucijama, naredba je "yum install rsync", a na Debianu je "sudo apt-get install rsync."


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


    Naredba na Debian / Ubuntu.

    Korištenje rsync za lokalne sigurnosne kopije

    U prvom dijelu ovog vodiča izradit ćemo sigurnosne kopije datoteka iz Directory1 u Directory2. Oba ova direktorija su na istom tvrdom disku, ali to bi funkcioniralo potpuno jednako ako su direktorije postojale na dva različita pogona. Postoji nekoliko različitih načina na koje možemo pristupiti ovome, ovisno o tome koje vrste sigurnosnih kopija želite konfigurirati. U većini slučajeva dovoljan je sljedeći redak koda:

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

    Gornji kod uskladit će sadržaj direktorija1 s imenikom Directory2 i neće ostaviti razlike između njih. Ako rsync utvrdi da Directory2 ima datoteku koju Directory1 nema, izbrisat će je. Ako rsync pronađe datoteku koja je promijenjena, stvorena ili izbrisana u mapi1, ona će odražavati te iste promjene u usluzi Directory2.

    Postoji mnogo različitih prekidača koje možete koristiti za rsync za prilagodbu vašim specifičnim potrebama. Evo što gore spomenuti kôd govori rsyncu da napravi sigurnosne kopije:

    1. -a = rekurzivno (recurse u direktorije), veze (kopiranje simboličkih oznaka kao simboličke veze), perms (očuvanje dozvola), vremena (čuvanje vremena modifikacije), grupe (očuvanje grupe), vlasnika (čuvanje vlasnika), čuvanje datoteka uređaja i sačuvati posebne datoteke.
    2. -v = opširno. Razlog zbog kojeg mislim da je važan jest da možete vidjeti što točno rsync podržava. Razmislite o tome: Što ako se vaš tvrdi disk pokvari i počne brisati datoteke bez vašeg znanja, tada pokrenete rsync skriptu i ona te promjene prebacuje na vaše sigurnosne kopije i tako brišu sve instance datoteke koju ne želite dobiti riješiti se?
    -Delete = To govori rsync-u da izbriše sve datoteke koje su u imeniku2 koje nisu u imeniku1. Ako se odlučite za korištenje ove opcije, preporučujem da koristite i opširne opcije iz gore navedenih razloga.

    Koristeći gornju skriptu, ovdje je izlaz generiran korištenjem rsync za backup Directory1 do Directory2. Imajte na umu da bez detaljnog prekidača ne biste primali takve detaljne informacije.

    Snimka iznad nam govori da su File1.txt i File2.jpg otkriveni kao novi ili na neki drugi način izmijenjeni u odnosu na postojeće kopije u mapi Directory2, pa su tako napravljene sigurnosne kopije. Noob savjet: primijetite da su kose crte na kraju direktorija u mojoj rsync naredbi - potrebne su, obavezno ih zapamtite.

    Proći ćemo kroz nekoliko praktičnih prekidača prema kraju ovog vodiča, ali samo zapamtite da možete vidjeti cijeli popis možete upisati "man rsync" i pregledati kompletan popis prekidača za korištenje.

    To se odnosi na lokalne sigurnosne kopije. Kao što možete reći, rsync je vrlo jednostavan za korištenje. Postaje nešto složenije kada se koristi za sinkronizaciju podataka s vanjskim hostom putem Interneta, ali pokazat ćemo vam jednostavan, brz i siguran način da to učinite.

    Korištenje rsync za vanjske sigurnosne kopije

    rsync može biti konfiguriran na nekoliko različitih načina za vanjske sigurnosne kopije, ali mi ćemo ići preko najpraktičnijih (i najlakši i najsigurniji) metoda tuneliranje rsync kroz SSH. Većina poslužitelja, pa čak i mnogi klijenti već imaju SSH, i može se koristiti za rsync sigurnosne kopije. Pokazat ćemo vam proces kojim ćete jedan Linux stroj napraviti u drugoj mreži u lokalnoj mreži. Proces bi bio isti ako bi se jedan domaćin negdje nalazio na internetu, samo napomenite da će se priključak 22 (ili bilo koji port na kojem ste konfigurirali SSH) morati proslijediti na bilo kojoj mrežnoj opremi na strani poslužitelja..

    Na poslužitelju (računalu koje će primati sigurnosne kopije) provjerite jesu li instalirani SSH i rsync.

    # yum -y instaliraj ssh rsync

    # sudo apt-get install ssh rsync

    Osim instaliranja SSH-a i rsync-a na poslužitelj, sve što je potrebno učiniti jest postaviti spremišta na poslužitelju na kojima želite da se datoteke sigurnosno kopiraju i provjerite je li SSH zaključan. Provjerite ima li korisnik koji namjeravate koristiti složenu zaporku, a možda bi bilo dobro i prebaciti port koji SSH sluša (zadano je 22).

    Pokrenut ćemo istu naredbu kao i za rsync na lokalnom računalu, ali uključiti potrebne dodatke za tuneliranje rsync kroz SSH na poslužitelj na mojoj lokalnoj mreži. Za korisnika "geek" koji se spaja na "192.168.235.137" i koristi iste prekidače kao i gore (-av -delete) izvodit ćemo sljedeće:

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

    Ako imate SSH koji sluša na nekom drugom portu osim 22, morat ćete odrediti broj porta, kao što je u ovom primjeru gdje koristim port 12345:

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

    Kao što možete vidjeti na slici iznad, izlaz dobiven pri izradi sigurnosnih kopija preko mreže je gotovo isti kao i kod lokalnog kopiranja, jedina stvar koja se mijenja je naredba koju koristite. Primijetite također da je zatražena lozinka. Ovo je za autentifikaciju sa SSH. Možete postaviti RSA ključeve kako biste preskočili taj proces, što će također pojednostaviti automatiziranje rsync-a.

    Automatiziranje rsync sigurnosnih kopija

    Cron se može koristiti na Linuxu za automatizaciju izvršavanja naredbi, kao što je rsync. Koristeći Cron, možemo imati naš Linux sustav za noćne sigurnosne kopije, ali koliko god često želite da se oni pokreću.

    Da biste uredili datoteku cron tablice za korisnika kojeg ste prijavili kao, pokrenite:

    $ crontab -e

    Morate biti upoznati s vi kako biste mogli uređivati ​​ovu datoteku. Upišite “I” za umetanje, a zatim počnite uređivati ​​datoteku cron tablice.

    Cron koristi sljedeću sintaksu: minuta sata, sata dana, dana u mjesecu, mjeseca u godini, dana u tjednu, naredbe.

    U početku može biti malo zbunjujuće, pa dopustite da vam dam primjer. Sljedeća naredba će izvesti naredbu rsync svaku večer u 10 sati:

    0 22 * ​​* * rsync -av - obriši / Direktorij1 / / Directory2 /

    Prva "0" označava minutu sata, a "22" određuje 10 sati. Budući da želimo da se ova naredba izvodi svakodnevno, ostat će polja ostaviti zvjezdicama, a zatim zalijepiti rsync naredbu.

    Nakon što ste završili s konfiguriranjem Cron-a, pritisnite tipku za izlaz, a zatim upišite “: wq” (bez navodnika) i pritisnite enter. Time ćete spremiti promjene u vi.

    Cron može dobiti mnogo više od toga, ali da bi se o tome moglo raspravljati, to bi bilo izvan okvira ovog vodiča. Većina ljudi će samo htjeti jednostavnu tjednu ili dnevnu sigurnosnu kopiju, a ono što smo vam pokazali lako možete postići. Za više informacija o Cronu, pogledajte man stranice.

    Ostale korisne značajke

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

    $ zip /ZippedFiles/archive.zip / Directory1 / && rsync -av - obriši / ZippedFiles / / Directory2 /

    Gornja naredba uzima datoteke iz Directory1, stavlja ih u /ZippedFiles/archive.zip, a zatim rsyncs u taj direktorij u Directory2. U početku, možda mislite da bi se ova metoda pokazala neučinkovitom za velike sigurnosne kopije, s obzirom da će se zip datoteka mijenjati svaki put kad se napravi najmanja izmjena u datoteci. Međutim, rsync prenosi samo izmijenjene podatke, tako da ako je zip datoteka 10 GB, a zatim dodate datoteku u Directory1, rsync će znati da je sve što ste dodali (iako je u zipu) i prenijeti samo nekoliko kilobajta izmijenjenih podataka.

    Postoji nekoliko različitih načina na koje možete kriptirati rsync sigurnosne kopije. Najlakši način je instaliranje šifriranja na samom tvrdom disku (onom na koji se pohranjuju vaše datoteke). Drugi način je šifriranje datoteka prije slanja na udaljeni poslužitelj (ili neki drugi tvrdi disk, bez obzira na to što ste napravili). Mi ćemo pokriti ove metode u kasnijim člancima.

    Bez obzira na opcije i značajke koje odaberete, rsync se dokazuje kao jedan od najučinkovitijih i najsvestranijih alata za backup do sada, pa čak i jednostavna rsync skripta može vas spasiti od gubitka podataka.