Šiame straipsnyje mes paaiškinsime, kaip naudoti „rsync“ failams kopijuoti, pateikdami keletą praktinių pavyzdžių. Mes taip pat paaiškinsime rsync naudojimą kopijuojant vieną failą, kelis failus ir katalogą tiek į vietinę, tiek į nuotolinę sistemą. Mes aptarsime, kaip naudoti „Rsync“:
- Nukopijuokite failą / katalogą vietinėje sistemoje
- Nukopijuokite failą / katalogą iš vietinės į nuotolinę sistemą
- Nukopijuokite failą / katalogą iš nuotolinės sistemos į vietinę
Mes paaiškinome šiame straipsnyje paminėtas komandas ir procedūras „Ubuntu 20“.04 LTS. Norint kopijuoti failus naudojant „rsync“, jums reikės komandinės eilutės terminalo. Norėdami atidaryti komandų eilutės programą „Terminal“, naudokite sparčiuosius klavišus „Ctrl“ + „Alt“ + T.
Diegiama „Rsync“
„Rsync“ yra iš anksto įdiegtas „Ubuntu 20“.04 LTS. Tačiau jei jis netyčia pašalinamas iš sistemos, galite jį įdiegti taip:
$ sudo apt install rsyncŠtai keletas dažniausiai naudojamų parinkčių, kurias galima naudoti su „rsync“:
-a: archyvo režimas
-v: rodo išsamią kopijavimo proceso informaciją
-p: rodo eigos juostą
-r: kopijuoja duomenis rekursyviai
-z: suglaudina duomenis
-q: slopinti išvestį
Nukopijuokite failus ir katalogus vietoje
Bendroji „rsync“ sintaksė yra tokia:
$ rsync [parinktis] [šaltinis] [paskirties vieta]Nukopijuokite vieną failą vietoje
Jei norite nukopijuoti failą iš vienos vietos į kitą savo sistemoje, galite tai padaryti įvesdami rsync po kurio nurodomas šaltinio failo pavadinimas ir paskirties katalogas.
Pavyzdžiui, norint nukopijuoti vieną failą „file1.txt “iš dabartinės vietos, esančios namų kataloge, į ~ / Documents katalogą, komanda būtų tokia:
$ rsync / home / tin / file1.txt / home / tin / Dokumentai
Pastaba: vietoj „/ home / tin / file1.txt “, taip pat galime įvesti„ file1 “, nes šiuo metu dirbame namų kataloge. Be to, mes galime naudoti ~ / Documents, užuot paminėję visą kelią kaip „/ home / tin / Documents“.
Nukopijuokite kelis failus vietoje
Jei norite vienu metu nukopijuoti kelis failus iš vienos sistemos vietos į kitą, galite tai padaryti įvesdami rsync po kurio nurodomas šaltinio failų pavadinimas ir paskirties katalogas.
Pavyzdžiui, norint nukopijuoti failus „file2.txt “ir„ failas3.txt “iš namų katalogo į ~ / Documents katalogą, komanda būtų tokia:
$ rsync / home / tin / file2.txt / home / tin / file3.txt / home / tin / Dokumentai
Norėdami nukopijuoti visus failus su tuo pačiu plėtiniu, galite naudoti žvaigždutės (*) simbolį, užuot nurodę failų pavadinimus atskirai. Pavyzdžiui, norėdami nukopijuoti visus failus iš namų katalogo, pasibaigiančio „.zip “plėtinį į katalogą ~ / Documents, mes naudosime:
$ rsync / home / tin / *.zip ~ / DokumentaiNukopijuokite katalogus vietoje
Jei norite nukopijuoti katalogą su jo pakatalogiu ir visu turiniu iš vienos sistemos vietos į kitą, galite tai padaryti taip: rsync po jo - šaltinio ir paskirties katalogas.
Pavyzdžiui, jei norite nukopijuoti katalogą „sample“ į „test /“ katalogą namų kataloge, komanda bus tokia:
$ rsync -av / home / tin / sample / home / tin / testPastaba: Nurodžius „/“ po šaltinio katalogo, nukopijuojamas tik katalogo turinys. Jei po šaltinio katalogo nenurodysime „/“, šaltinio katalogas taip pat bus nukopijuotas į paskirties katalogą.
Kaip ir šiame išvestyje, galite pamatyti, kad mūsų šaltinio katalogas „pavyzdys“ taip pat nukopijuojamas į paskirties katalogą (kaip šaltinio katalogą naudojome „pavyzdys“, o ne „pavyzdys /“).
„Rsync“ palaiko laipsnišką perdavimą, kaip matote aukščiau pateiktame išvestyje, kad jis perkelia tik naujus arba atnaujintus failus.
Nukopijuokite failus pagal maksimalų dydį
Kopijuodami taip pat galime nurodyti maksimalų failų dydį, kurį galima nukopijuoti naudojant parinktį „-max-size“. Pvz., Jei norite nukopijuoti ne didesnius kaip 2000 k failus iš aplanko ~ / Atsisiuntimai į ~ / Dokumentai, komanda bus tokia:
$ rsync -a --max-size = 2000k / home / tin / Downloads / * / home / tin / DocumentsŠi komanda nukopijuos visus failus iš ~ / Downloads į ~ / Documents katalogą, išskyrus tuos, kurie yra didesni nei 2000k.
Nukopijuokite failus pagal mažiausią dydį
Panašiai galime nurodyti ir minimalų failų dydį, kurį galima nukopijuoti naudojant parinktį „-min-size“. Pvz., Jei norite nukopijuoti failus, ne mažesnius kaip 5M, iš ~ / Downloads į ~ / Documents katalogą, komanda būtų tokia:
$ rsync -a --min-size = 5M / home / tin / Downloads / / home / tin / DocumentsŠi komanda nukopijuos visus failus iš ~ / Downloads į ~ / Documents katalogą, išskyrus tuos, kurie yra mažesni nei 5M.
Išskirkite failus
Kopijuodami failus iš vieno katalogo į kitą, galite išskirti kai kuriuos failus naudodami parinktį „-exclude“, po kurios nurodomas failo pavadinimas arba failo tipo plėtinys.
Pavyzdžiui, norint pašalinti visus .zip failus kopijuojant failus iš ~ / Downloads į ~ / Documents katalogą, komanda būtų tokia:
$ rsync -a --exclude = "*.zip "/ home / tin / Downloads / / home / tin / DocumentsNukopijuokite failus ir katalogus nuotoliniu būdu
Naudodami „Rsync“ galite nukopijuoti vieną failą, kelis failus ir katalogus į nuotolinę sistemą. Jei norite kopijuoti failus ir katalogus nuotoliniu būdu, jums reikės:
- „Rsync“ įdiegta tiek vietinėje, tiek nuotolinėje sistemoje
- SSH prieiga prie nuotolinės sistemos
- Nuotolinio vartotojo slaptažodis
Prieš kopijuodami failus naudodami „rsync“, įsitikinkite, kad galite pasiekti nuotolinę sistemą per SSH:
$ ssh remote_user @ remote_ip
Bendroji failų ir katalogų kopijavimo į nuotolinę sistemą, naudojant „rsync“, sintaksė:
Pavyzdžiui, norint nukopijuoti vieną failą „failas.txt “iš ~ / Atsisiuntimai į nuotolinę sistemą ~ / Dokumentų katalogą, komanda būtų tokia:
$ rsync -v ~ / Atsisiuntimai / failas1.txt umara @ 192.168.72.164: ~ / Dokumentai
Panašiai, jei norite nukopijuoti katalogą „~ / Downloads / files“ į vietinę sistemą su pakatalogiu ir visu turiniu į nuotolinės sistemos katalogą „~ / Downloads / paraugai“:
$ rsync -rv ~ / Atsisiuntimai / failai umara @ 192.168.72.164: ~ / Atsisiuntimai / pavyzdžiai
Taip pat galite nukopijuoti failus ir katalogus iš nuotolinio kompiuterio į savo vietinį kompiuterį. Pavyzdžiui, norint nukopijuoti „file2.txt “iš nuotolinės sistemos į vietinės sistemos darbalaukį:
$ rsync -v umara @ 192.168.72.164: ~ / Atsisiuntimai / failas2.txt ~ / darbalaukis /
Panašiai, norint nukopijuoti katalogą iš nuotolinės sistemos į vietinę sistemą
$ rsync -rv umara @ 192.168.72.164: ~ / Atsisiuntimai / pavyzdys ~ / Darbalaukis / testasKopijuodami failus į / iš nuotolinės sistemos, taip pat galite naudoti visas parinktis, tokias kaip -max-size, -min-size, -exclude ir kt.
„Rsync“ yra puikus įrankis kopijuoti failus iš šaltinio į paskirties vietą vietoje arba nuotoliniu būdu. Jame yra daugybė parinkčių, kurios suteikia jums lankstumo ir valdymo galimybę perkeliant failus į / iš nuotolinės sistemos.