rsync kasutamine Ubuntus – Kiire failide sünkroonimine ja varundamine Linuxis

目次

1. Sissejuhatus

Mis on rsync?

rsync on käsureatööriist, mis võimaldab faile ja katalooge kiiresti ning tõhusalt sünkroonida ja kopeerida. Eriti laialdaselt kasutatakse seda Linuxi ja Unixi süsteemides, sest rsync edastab ainult muudatused, võimaldades nii sünkroonida isegi väga suuri failihulki tõhusalt. Ubuntu ja paljudes teistes Linuxi distributsioonides on see sageli vaikimisi olemas ning see on asendamatu tööriist süsteemiadministraatoritele ja arendajatele.

rsync kasutamise eelised Ubuntus

Ubuntus on rsync väga tõhus igapäevaste varukoopiate ja mitme kataloogi sünkroonimise juures. Graafilist liidest pole vaja – piisab vaid mõnest käsust terminalis ning kiire failiedastus toimib nii lokaalselt kui ka kaugmasinatega.

Eriti kasulik järgmistes olukordades:

  • Regulaarsed varukoopiad välisele HDD-le või NAS-ile
  • Arendusprojektide kaustade sünkroonimine
  • Deploy ehk projektide üleslaadimine kaugserverisse
  • Failide peegeldamine suurema töökindluse tagamiseks

Erinevus teistest käskudest

Võrreldes cp-käsuga edastab rsync ainult muutunud andmed, mis teeb protsessi palju kiiremaks. Võrreldes scp-ga pakub rsync võimalust katkestatud ülekandeid jätkata ja piirata ribalaiust. Lisaks säilitatakse failide õigused, omanikud ja ajatemplid.

Selle artikli eesmärk

Selles artiklis selgitatakse üksikasjalikult, kuidas rsync Ubuntu keskkonnas paigaldada ja kasutada, tuues kaasa praktilisi näiteid ning juhtumeid. Algajatele tehakse protsess arusaadavaks ning räägitakse ka GUI-tööriistadest ja probleemide lahendamisest – nii saab igaüks õppida rsynci kasutama samm-sammult.

2. Kuidas rsync-i paigaldada (Ubuntu)

Kuidas kontrollida, kas rsync on Ubuntus juba olemas

Paljudes Ubuntu süsteemides on rsync eelinstallitud. Kontrollimiseks käivita järgmine käsk:

rsync --version

Kui näed versiooniteavet, on rsync juba olemas ja kasutusvalmis.

Kui rsync puudub, paigalda see nii:

Kui ilmub teade “käsku ei leitud” või “rsync: command not found”, paigalda rsync järgmiste sammudega:

  1. Värskenda paketiteave:
sudo apt update
  1. Paigalda rsync:
sudo apt install rsync
  1. Kontrolli taas versiooni:
rsync --version

Kui versioon kuvatakse, on paigaldamine õnnestunud.

Kas peaksin kasutama snap-i või muid meetodeid?

Ubuntus soovitatakse rsync paigaldada eelkõige APT-ga. Snap-pakett on küll olemas, kuid enamik kasutusjuhtudel sobib just APT-versioon, mis on stabiilsem ja parema ühilduvusega. Kui pole erilist vajadust, eelista alati APT-i.

Paigaldamisega seotud tähelepanekud

  • Vana Ubuntu puhul võib vaja minna repositooriumide uuendamist.
  • Paigaldamiseks on vaja root-õigusi – ära unusta sudo kasutamist.
  • Ebastabiilse võrgu korral võivad tekkida vead; soovitatav on kasutada stabiilset internetiühendust.

3. rsync-i põhiline kasutamine

rsync-i põhisüntaks

rsync-i süntaks on lihtne, kuid väga paindlik. Põhikuju:

rsync [valikud] allikas sihtkoht

Näiteks, kui tahad kopeerida /home/user/documents/ sisu /mnt/backup/-kausta:

rsync -av /home/user/documents/ /mnt/backup/

Selles käsus kasutatakse järgmisi valikuid:

  • -a: arhiivrežiim (säilitab kaustastruktuuri, õigused, omanikud jne.)
  • -v: detailne väljund (näitab, millised failid kopeeriti)

Lõpulise kaldkriipsu (/) tähendus

rsync-is muudab allika lõpus oleva kaldkriipsu olemasolu kopeerimiskäitumist:

  • /home/user/documents/ (kaldkriips olemas) – kopeeritakse ainult sisu (nt file1.txt, file2.txt jne.)
  • /home/user/documents (kaldkriips puudub) – kopeeritakse kogu documents kaust koos sisuga (nt /mnt/backup/documents/file1.txt)

See erinevus on rsynci puhul väga oluline – kasuta vastavalt vajadusele.

Levinumad valikud

rsync-il on palju valikuid, kuid siin on enimkasutatavad:

ValikSelgitus
-aArhiivrežiim (rekursiivne, säilitab õigused jne.)
-vNäitab üksikasjalikku edastusteavet
-nSimulatsioon – ainult näitab, mida tehakse (dry-run)
--progressNäitab edenemist
--deleteKustutab sihtkohast failid, mida allikas enam ei sisalda

Soovid enne tegelikku täitmist vaadata, mis juhtub?

Kui tahad enne tegelikku ülekannet näha, mis toimuks, kasuta -n või --dry-run:

rsync -av --dry-run /home/user/documents/ /mnt/backup/

Nii väldid ootamatuid olukordi ja andmekadusid.

Peidetud failide käsitlemine

rsync kaasab automaatselt ka punktiga (.) algavad peidetud failid. Nii sünkroonitakse ka seadistusfailid ja muu vajalik info.

4. Sünkroonimine kaugserveriga

Kaugserveriga sünkroonimine SSH kaudu

rsync suur eelis on võimalus sünkroonida faile turvaliselt üle võrgu SSH abil. See tähendab, et saad faile turvaliselt ja lihtsalt üle võrgu edastada.

Põhisüntaks:

rsync -avz allikas kasutaja@kaug_IP_või_host:sihtkoht

Näide: kui soovid kopeerida /home/user/documents/ kaugserverisse /var/www/backup/:

rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
  • -z tihendab andmed – kasulik aeglase võrgu puhul
  • user@host – määrab SSH kasutaja ja hosti

Esimene ühendus ja võtmega autentimine

Esimesel ühendusel võib küsida hosti kinnitust – sisesta “yes”, kui usaldad serverit.

Korduvateks ühendusteks soovitatakse kasutada SSH võtmega autentimist, et parooli poleks vaja igal korral sisestada.

  1. Loo SSH võti (kui seda veel pole):
ssh-keygen -t rsa
  1. Kopeeri võti kaugserverisse:
ssh-copy-id user@example.com

Edaspidi saad rsync-i kasutada ilma parooli sisestamata.

Kui vaja määrata porti

Kui server kasutab vaikimisi erinevat SSH-porti (mitte 22), määra see -e valikuga:

rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/

Kahepoolne sünkroonimine – ole ettevaatlik

rsync töötab ühepoolse sünkroonimisena – ainult allikast sihtkohta. Kahepoolse sünkrooni jaoks kasuta mõnda muud tööriista, nt unison.

5. rsync-i kasulikud valikud ja kasutusnäited

Kasulikud rsync-i valikud

Lisaks põhilisele kopeerimisele on rsync-il ka palju kasulikke valikuid. Siin mõned praktilised:

–delete: kustuta sihtkohast failid, mida allikas pole

Selle valikuga saab teha täielikku peegeldust (mirroring), kuid ettevaatust – kasuta alati eelnevalt --dry-run, et mitte kaotada vajalikke faile.

rsync -av --delete /home/user/source/ /mnt/backup/

–exclude: jäta teatud failid või kaustad välja

Kui tahad mõningaid faile/katalooge mitte sünkroonida, kasuta --exclude:

rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/

Võid kasutada ka mitut mustrit.

–bwlimit: piiratud ribalaius

Kui soovid, et rsync ei võtaks kogu võrgu ribalaiust, piira seda --bwlimit abil:

rsync -av --bwlimit=5000 /data/ user@remote:/data/

(Selles näites max 5MB/s)

Praktilised näited

Varundamine rsync-iga

rsync sobib hästi automaatsete varukoopiate tegemiseks, nt välisele kõvakettale iga päev:

rsync -a --delete /home/user/ /media/usb/backup/

Siin kasutatakse --delete, et säilitada täielik peegeldus.

Automatiseeritud sünkrooni croniga

Kombineeri rsync croniga, et varundamine toimuks automaatselt – näiteks igal ööl kell 2:

0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1

Nii saad varunduse automatiseerida ja oma süsteemi töökindlust tõsta.

rsync ühendab paindlikkuse ja tõhususe

rsync-i väärtus peitub tema paljudes valikutes – saad paindlikult sünkroonida ja vältida liigset andmeliiklust. See on väga võimas tööriist, kui tahad oma faile hallata kiiresti, turvaliselt ja tõhusalt.

6. Graafiline tööriist “Grsync”

Soovitatav neile, kes käsureaga ei soovi tegeleda

rsync on küll väga võimas, aga käsurea kasutamine võib algajatele olla keeruline. Siin tuleb appi Grsync – graafilise liidesega tööriist, mis kasutab rsync-i taustal ja võimaldab mugavalt seadeid muuta ning käske käivitada.

Grsync võimaldab faile sünkroonida visuaalselt, ilma käske pähe õppimata.

Grsync-i paigaldamine (Ubuntu)

Ubuntus saad Grsync-i paigaldada lihtsalt APT-i abil:

sudo apt update
sudo apt install grsync

Pärast paigaldamist leiad rakenduse nimega “Grsync” oma menüüst ning saad selle otse käivitada.

Grsync-i põhiline kasutamine

Grsync-i liides on intuitiivne – saad määrata:

  • Lähte- ja sihttee
  • “Rekursiivne kopeerimine”, “säilita õigused”, “kustuta valik” jne. – kõik peamised rsync-i valikud on olemas kastikestena
  • Väljaarvamisreeglid (exclude patterns)
  • Kuivkäivitus (dry run) nupuvajutusega

Kui seadistused on tehtud, vajuta “Käivita” ning rsync töötab taustal vastavalt seatud parameetritele.

Profiilifunktsioon teeb korduvkasutamise lihtsaks

Grsync võimaldab seaded salvestada “profiilina” – mugav mitme erineva varundusülesande haldamiseks.

Näiteks:

  • Profiil 1: varundus USB-le
  • Profiil 2: sünkrooni NAS-iga
  • Profiil 3: peegelda välist serverit

See kõik on mugavalt hallatav GUI kaudu.

Grsync-i plussid ja miinused

EelisedPuudused
Vajalik pole käsurea kasutamine – kõik on intuitiivneMõned keerukamad valikud pole GUI kaudu seadistatavad
Saad kohe aru, mida iga valik teebVäljundi detailsus võib jääda allapoole rsync-i käsurea taset
Turvaline alustada (dry-run jne ühe klikiga)Paindlikkus võib olla piiratud võrreldes terminaliga

7. Levinumad probleemid ja lahendused

Failiõigused ei säili

Sümptom: Failide omanik/õigused muutuvad sihtkohas.
Põhjus: Käivitatakse ilma -a valikuta või tavakasutaja õigustes.
Lahendus:

  • Kasuta alati -a valikut.
  • Käivita vajadusel sudo-ga.
sudo rsync -a /source/ /destination/

Sümboolseid linke ei kopeerita õigesti

Sümptom: Linke ei kopeerita või kopeeritakse tegeliku failina.
Põhjus: Vaikimisi säilitatakse sümboolsed lingid, aga käitumine sõltub valikutest.
Lahendus:

  • Säilita lingid: kasuta -a.
  • Kopeeri tegelikud failid: lisa --copy-links.

“Permission denied” tõrge

Sümptom: Teatud faile/kaustu ei saa sünkroonida – ilmub “Permission denied”.
Põhjus: Puudub vajalik juurdepääs.
Lahendus:

  • Käivita sudo-ga.
  • Kontrolli allika/sihtkoha õigusi ja vajadusel muuda neid.
sudo rsync -a /source/ /destination/

“rsync: connection unexpectedly closed” (kaugühenduse ajal)

Sümptom: Kaugserveriga ühendus katkeb ootamatult.
Põhjus: SSH seadistus, valed rajad, õiguste probleemid.
Lahendus:

  • Proovi esmalt SSH ühendust ssh user@host.
  • Kontrolli sihtkoha rada.
  • Võimalik põhjus ka tulemüür või vale port.

“Argument list too long”

Sümptom: Väga suure failihulga korral ilmub viga.
Põhjus: Käsurea argumendid on liiga pikad.
Lahendus:

  • Kasuta --exclude või --include, et vähendada failide arvu.
  • Sünkrooni kaustu eraldi.

8. KKK (Korduma kippuvad küsimused)

Siin vastame sagedasematele küsimustele rsync-i kohta Ubuntu keskkonnas. Keskendume algajatele olulistele punktidele.

Q1. Kuidas säilitada failide omanik ja õigused rsync-iga?

A1. Kasuta -a valikut (arhiivrežiim) – nii säilivad failide õigused, omanik, grupp ja ajatempel. Vajalik süsteemi- või seadistuste varundamisel.

rsync -a /etc/ /backup/etc/

Q2. Kuidas teatud faile või kaustu sünkroonist välja jätta?

A2. Kasuta --exclude valikut. Võimalik on määrata ka mustreid ja kasutada kausta- või failinimesid.

rsync -av --exclude '*.log' /project/ /backup/project/

Kasuta ka metamärke, näiteks node_modules või .git välistamiseks.

Q3. Kuidas piirata rsync-i võrgu ribalaiust?

A3. Kasuta --bwlimit valikut, ühik on KB/s.

rsync -av --bwlimit=5000 /data/ user@remote:/data/

Näites maksimaalselt 5MB/s. Kasulik, kui ei soovi võrku üle koormata.

Q4. Soovin enne pärisülekannet vaadata, mis juhtub – kuidas?

A4. Kasuta --dry-run või -n – andmeid ei edastata, vaid kuvatakse plaanitav tegevus.

rsync -av --dry-run /source/ /destination/

Eriti oluline, kui kasutad --delete valikut.

Q5. Kas rsync kopeerib ka peidetud (dot) faile?

A5. Jah, vaikimisi kaasatakse kõik failid, sealhulgas .-ga algavad peidetud failid. Kui soovid mõnda neist välja jätta, lisa --exclude '.*'.

Q6. Mis vahe on rsync-il ja scp-l?

A6. scp edastab iga kord kõik failid, rsync ainult muutused, mis teeb selle varunduseks ja peegeldamiseks palju tõhusamaks. Lisaks toetab rsync katkestatud ülekannete jätkamist.

9. Kokkuvõte

Selles artiklis selgitasime, kuidas rsync-i Ubuntus paigaldada ja kasutada, käsitlesime põhitõdesid, kaugserveri sünkrooni, kasulikke valikuid, GUI-tööriista Grsynci, levinumaid vigu ja korduma kippuvaid küsimusi.

rsync-i eelised kokkuvõtvalt

  • Kiire edastus vaid muudatuste puhul – säästab aega ja ressursse.
  • Säilitab õigused ja omanikud – ideaalne varunduseks ja peegeldamiseks.
  • Kaugserveri tugi SSH kaudu – turvaline ja lihtne kasutada.
  • Palju valikuid – näiteks väljaarvamised, ribalaiuse piiramine jne.
  • Automatiseerimine croniga – igapäevane varundamine ilma käsitsi sekkumiseta.
  • Grsync GUI-tööriist – mugav ka algajatele.

rsync – iga Linuxi kasutaja kohustuslik tööriist

rsync on Ubuntu ja teiste Linuxi süsteemide puhul failihalduse, varundamise ja sünkroonimise aluseks. Ka algaja saab selle artikli põhjal kiiresti ja ohutult tööle asuda.

Lihtne süntaks, aga väga võimas – alusta põhitõdedest ning kasuta vajadusel ka keerukamaid võimalusi, et leida enda jaoks parim rsync-i kasutusviis.