„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
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 /
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.
2. Rekursyviai sinchronizuokite / kopijuokite failus ir katalogus naudodami parinktį -r
Pirmiau pateiktoje komandoje, jei 'Originalasaplanką, jis bus praleistas. Tai parodyta paveikslėlyje žemiau.
Norėdami tai įveikti, naudokite parinktį -r (rekursinė).
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į.
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
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
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
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 /
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 /
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“."
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
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
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.
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
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
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
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
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 /
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 /
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)
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 /
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
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.