Terminalo autobusai

20 geriausių „Linux“ „Rsync“ pavyzdžių

20 geriausių „Linux“ „Rsync“ pavyzdžių

„Rsync“ (nuotolinio sinchronizavimo) komanda yra „Linux / Unix“ programa, naudojama failams ir katalogams sinchronizuoti ir kopijuoti vietiniu arba nuotoliniu būdu. Dauguma „Linux“ geekų naudoja „Rsync“, kad atspindėtų duomenis, sukurtų atsargines jų kopijas ar perkeltų duomenis į aplankus, diskus ir tinklus. Pažymėtina komanda su „Rsync“ yra ta, kad ji naudoja „delta perdavimo algoritmą.“

„Delta Transfer“ algoritmas veikia atnaujinant paskirties katalogą su šaltinio paskirties turiniu. Jei šaltinio kataloge sukuriamas pakeitimas arba naujas failas, vykdant komandą „Rsync“, į paskirties katalogą bus nukopijuotas tik konkretus pakeitimas. Norėdami sinchronizuoti failus ir katalogus tarp vietinio ir nuotolinio kompiuterio, „Rsync“ naudoja SSH.

„Rsync“ diegimas „Linux“

„Rsync“ komanda yra iš anksto įdiegta daugumoje „Linux“ operacinių sistemų. Tačiau kai kurių minimalių įrenginių atveju taip gali būti. „Rsync“ galite įdiegti paleidę žemiau esančias komandas terminale.

„CentOS & RHEL“

yum įdiegti rsync -y

„Ubuntu“ ir kituose „Debian“ platinimuose

sudo apt install rsync -y

„Rsync“ pagrindinė sintaksė

„rsync“ parinkčių šaltinio paskirties vieta

Kai kurios standartinės parinktys / parametrai, naudojami su „Rsync“ komanda:

-v: -verbose Verbose išvestis
-r: kopijuoja duomenis rekursyviai
-z: suspausti failo duomenis
-h: suteikia išvestį žmonėms skaitomu formatu
-a: archyvuokite failus ir katalogą sinchronizuodami
-progresas Rodo šiuo metu vykdomų „Rsync“ užduočių eigą.

Naudodami parinktį „-help“, galite pamatyti visas „Rsync“ komandai galimas parinktis.

$ rsync --help

„Rsync“ pagalbos komanda

20 geriausių „Linux“ „Rsync“ pavyzdžių

Turėdami omenyje šią išsamią informaciją, pradėkime nuo 20 naudingų „Rsync“ pavyzdinių komandų, kurias galite naudoti su „Linux“ sistemomis. Mūsų pasirinkta operacinė sistema yra „Ubuntu 20“.04 LTS; tačiau sintaksė turėtų veikti ir kituose „Linux“ paskirstymuose, kuriuose įdiegta „Rsync“.

1. Nukopijuokite / sinchronizuokite failus vietoje naudodami parinktį -v (verbose)

Tai yra paprasčiausia „Rsync“ komanda net naujokui. Šiame pavyzdyje kopijuosime failus tarp „Originalas'katalogą darbalaukyje į'Atsarginė kopija'kataloge' / etc.aplanką. Įtrauksime parinktį -v (Verbose), kad „rsync“ galėtų pateikti informacijos apie tai, kas vyksta.

rsync -v Originalus /

rsync -v (žodinė) komanda

Vienas dalykas, kurį reikia pažymėti naudojant „Rsync“, yra tas, kad jei paskirties katalogo nėra, jis jį automatiškai sukurs. Pažiūrėkime žemiau pateiktą pavyzdį, kur norime nukopijuoti failus į katalogą “FossTo nėra.

Sukurkite katalogą naudodami „Rsync“

2. Rekursyviai sinchronizuokite / kopijuokite failus ir katalogus naudodami parinktį -r

Pirmiau pateiktoje komandoje, jei 'Originalasaplanką, jis bus praleistas. Tai parodyta paveikslėlyje žemiau.

Pagrindinė „Rsync“ komanda

Norėdami tai įveikti, naudokite parinktį -r (rekursinė).

Rekursyviai sinchronizuokite failus su -r

3. Sinchronizuokite / kopijuokite failus tarp vietinio ir nuotolinio kompiuterio

Prieš atlikdami šią užduotį, turite keletą parametrų, kuriuos turite žinoti apie nuotolinį serverį / kompiuterį: IP adresas, vartotojo vardas ir vartotojo slaptažodis.

Pagrindinė sintaksė, kurią naudosime, yra:

rsync [parinktys] [failai] [nuotolinis vartotojo vardas] @ [IP adresas]: / [paskirties vieta]

Nukopijuokime failus iš mūsųOriginalas'katalogą darbalaukyje į nuotolinį serverį.

Sinchronizuokite / kopijuokite failus nuotoliniu būdu su „Rsync“

4. Sinchronizuokite / kopijuokite failus ir katalogus iš nuotolinio serverio į savo vietinį kompiuterį

Kaip ir ankstesnė komanda, mums reikės žinoti nuotolinio serverio IP adresą. Šiame pavyzdyje sinchronizuosime failus „Atsarginė kopija'aplanką serverio namų kataloge į mūsų vietinį kompiuterį.

rsync -rv tuts @ 192.168.1.64: / home / tuts / Backup / home / tuts / Desktop / Original

Sinchronizuoti-Kopijuoti failą iš nuotolinio serverio į vietinį kompiuterį

5. Naudokite „Rsync“ per SSH naudodami parinktį -e

Norėdami užtikrinti failų ir aplankų saugumą, naudosime „Rsync over Secure Shell Protocol“ (SSH). Be to, teikdamas šakninį / vartotojo slaptažodį - SSH teiks šifravimo paslaugas, užtikrindamas jų saugumą.

Norėdami naudoti SSH, pridėsime parinktį -e, nurodantį norimą naudoti protokolą.

 rsync -vre ssh Originalus / * tuts @ 192.168.1.64: / home / tuts

Naudokite „Rsync“ per SSH

6. Rodyti pažangą naudojant komandą „Rsync“

Tais atvejais, kai kopijuojate kelis failus arba didžiulį failą, žinoti, kad pažanga bus efektyvi. Laimei, „rsync“ turi šią parinktį - „-progresas'variantas.

sudo rsync -rv --progress Original / * / etc / Foss

Rodyti progresą naudojant „Rsync“

7. Naudokite „Rsync“ su parinktimi „-include“

Yra situacijų, kai norite sinchronizuoti tik tam tikrus failus. Naudodami komandą „Rsync“, jūs sukelsite-įtraukti'variantas atlikti užduotį. Šiame pavyzdyje sinchronizuosime failus, prasidedančius raide „I“.

sudo rsync -vr - įtraukti „I *“ Original / / etc / Backup /

Naudokite -include parinktį su Rsync

8. Norėdami ignoruoti konkrečius failus, naudokite parinktį „Rsync“ su „-exclude“

Su „Rsync“-Neįtraukti', galite išskirti failus, kurių nenorite sinchronizuoti / kopijuoti. Šiame pavyzdyje norime nepaisyti visų failų, prasidedančių raide „Aš“.

sudo rsync -vr - neįtraukti „I *“ Original / / etc / Backup /

Naudokite „Rsync“ su parinktimi „-išskirti“

Arba galite naudoti abi parinktis vienoje komandoje. Žr. Toliau pateiktą pavyzdį.

sudo rsync -vr - neįtraukti „*“ - įtraukti „I *“ Original / / etc / Backup /

Mes atmetame visus failus, išskyrus tuos, kurie prasideda raide „I“."

Naudokite tiek įtraukimo, tiek neįtraukimo parinktis

9. Naudokite komandą „Rsync with -delete“

Yra atvejų, kai failai yra paskirties kataloge, bet ne šaltinio aplanke. Sinchronizavimui geriausia pirmiausia būtų pašalinti tokius failus iš paskirties katalogo. Laimei, „Rsync“ ateina su „-Ištrinti', kuris tai daro automatiškai.

Jei failas yra paskirties kataloge, bet šaltinyje nėra, jis jį ištrins.

rsync -vr --delete / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Naudokite „Rsync“ su ištrynimo parinktimi

10. Nustatykite maksimalų failų dydį, kurį norite perkelti naudodami „Rsync“

Jei rūpi atminties vieta ar pralaidumas nuotoliniam failų sinchronizavimui, turite naudoti parinktį „-max-size“ su komanda Rsync. Ši parinktis leidžia nustatyti maksimalų failo, kurį galima nukopijuoti, dydį.

Pavyzdžiui,-maksimalus dydis = 100 tūkst'perduos tik 100 kilobaitų ar mažesnius duomenis.

rsync -vr --max-size = '200k' / etc / Backup / tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Nustatykite maksimalų dydį naudodami komandą „Rsync“

11. Po sėkmingo perkėlimo automatiškai ištrinkite šaltinio failus

Paimkite situaciją, kai savo kompiuteryje turite nuotolinį atsarginės kopijos serverį ir atsarginių kopijų katalogą. Prieš sinchronizuodami juos su atsarginės kopijos serveriu, sukuriate atsarginę duomenų kopiją į atsarginės kopijos aplanką savo kompiuteryje. Po kiekvieno sinchronizavimo turėsite ištrinti atsarginės kopijos katalogo duomenis.

Laimei, tai galite padaryti automatiškai naudodami „--pašalinti šaltinio failus'variantas.

Ištrinkite šaltinio failus po sėkmingo perkėlimo

Paleisdami komandą „ls“ šaltinio aplanke, mes patvirtiname, kad failai iš tikrųjų buvo ištrinti.

12. Atlikite sausą bandymą su „Rsync“

Naujokams, kurie nėra tikri naudodami komandą „Rsync“, galite sugadinti paskirties katalogo turinį, o anuliavimas gali būti toks pat varginantis. Su '-sausas'parinktį, komanda Rsync suteiks jums išvestį, kas bus atlikta, bet ji to nepadarys.

Todėl galite pažvelgti į šią išvestį, jei jos tikitės prieš eidami o pašalinti „-sausas'variantas.

rsync -vr --dry-run Original / * tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Atlikite „Dry Run“ su „Rsync“

13. Nustatykite „Bandwith Limit“, reikalingą failams perkelti.

Jei esate bendrame tinkle arba naudojate kelias programas, kurioms reikalingas interneto ryšys, būtų efektyvu nustatyti pralaidumo ribą, reikalingą failams sinchronizuoti / kopijuoti nuotoliniu būdu. Tai galime padaryti naudodami „Rsync“-bwlimit'variantas.

Ši norma apskaičiuojama kilobaitais. Todėl, kai-bwlimit = 1000reiškia, kad per sekundę galima perkelti tik 1000 KB.

rsync -vr --bwlimit = 1000 Original / * tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Nustatykite pralaidumo ribą, reikalingą failams perkelti

14. Sinchronizuokite visus failus su „Rsync“

Pagal numatytuosius nustatymus „Rsync“ sinchronizuoja tik modifikuotus blokus ir baitus. Todėl, jei anksčiau buvote sinchronizavę teksto failą ir vėliau, kai sinchronizavote, pridėjote keletą tekstų prie šaltinio failo, bus nukopijuotas tik įterptas tekstas. Jei norite dar kartą sinchronizuoti visą failą, turėsite naudoti parinktį „-W“.

„rsync -vrW Original“ / * tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Sinchronizuokite visą failą su „Rsync“

15. Nesinchronizuokite / nekopijuokite modifikuotų failų paskirties kataloge

Yra atvejų, kai pakeitėte failus, esančius paskirties aplanke. Jei vykdysite komandą „Rsync“, šie pakeitimai bus perrašyti tų, kurie yra šaltinio faile. Norėdami to išvengti, naudokite parinktį „-u“.

„rsync -vu Original“ / * tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Norėdami išvengti failų modifikavimo aplanke „Paskirtis“, naudokite parinktį „u“

16. Norėdami pamatyti failų skirtumą tarp šaltinio ir paskirties, naudokite parinktį „Rsync with -i“

Jei norite sužinoti, kokie nauji paskirties katalogo pakeitimai bus atlikti, naudokite parinktį „-i“, kuri parodys failų skirtumą tarp šaltinio ir paskirties katalogo.

rsync -avzi Original / Backup /

Norėdami peržiūrėti failų skirtumą, naudokite -i parinktį

Suformuokite išvestį aukščiau esančiame paveikslėlyje ir pamatysime failą, pavadintą "heloo.py ' nėra paskirties kataloge. Pažvelkime į kai kuriuos iš šių parametrų.

d: rodo paskirties failo pakeitimą
f: reiškia failą
t: rodo laiko žymių pasikeitimą
s: rodo failo dydžio pasikeitimą

17. Naudokite „Rsync“, kad nukopijuotumėte tik katalogo struktūrą

Galite naudoti „Rsync“, kad sinchronizuotumėte tik katalogo struktūrą, jei failai jūsų nedomina. Prieš šaltinio katalogą turėsime naudoti parametrus -f ”+ * /” -f ”- *”.

rsync -av -f "+ * /" -f "- *" / namai / tuts / darbalaukis / originalas / / home / tuts / dokumentai /

Norėdami nukopijuoti katalogo struktūrą, naudokite „Rsync“

18. Pridėti datos antspaudą prie katalogo pavadinimo

Jei norite stebėti, kada įvyko perdavimas neatidarant katalogo ypatybių, galite lengvai pridėti datą prie katalogo pavadinimo. Tai pridės datos antspaudą prie visų sinchronizacijų, kurias atliekate su „Rsync“.

Norėdami tai padaryti, mes pridėsime $ (data + \\% Y - \\% m - \\% d) į paskirties katalogą.

sudo rsync -rv Originalus / / etc / $ (data + \\% Y - \\% m - \\% d)

Pridėkite datos antspaudą kataloge

19. Nukopijuokite vieną failą vietoje

Norėdami sinchronizuoti / nukopijuoti vieną failą naudodami „Rsync“, turėsite nurodyti failo kelią, po kurio eina paskirties katalogo kelias.

rsync -v Original / heloo.py atsarginė kopija /

Sinchronizuokite vieną failą vietoje

20. Kelių failų kopijavimas nuotoliniu būdu

Norėdami nukopijuoti kelis failus vienu metu, turėsite nurodyti jų visų kelią. Šis metodas yra efektyvus tik nedaugeliui failų.

rsync -vr / home / tuts / Desktop / Original / heloo.py / home / tuts / Desktop / Backup / index.HTML tuts @ 192.168.1.64: / home / tuts / Atsarginė kopija

Nukopijuokite kelis failus vienu metu

Viskas apie 20 populiariausių „Rsync“ pavyzdžių, kurie leis sinchronizuoti failus ir katalogus tiek lokaliai, tiek nuotoliniu būdu. Nedvejodami palikite savo atsiliepimus ir komentarus žemiau.

„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...