Kaip kopijuoti failus naudojant rsync

How Use Rsync Copy Files



„Rsync“ yra komandų eilutės įrankis „Linux“, naudojamas failams kopijuoti iš šaltinio vietos į paskirties vietą. Galite kopijuoti failus, katalogus ir visą failų sistemą ir sinchronizuoti failus tarp skirtingų katalogų. Tai ne tik failų kopijavimas. Tai sumažina per tinklą siunčiamų duomenų kiekį, siunčiant tik naujus ar atnaujintus failus. Štai kodėl jis laikomas puikiu failų kopijavimo ir atsarginių kopijų kūrimo įrankiu. „Rsync“ taip pat palaiko failų kopijavimą į nuotolinę sistemą per SSH.

Šiame straipsnyje paaiškinsime, kaip naudojant rsync kopijuoti failus, pateikdami keletą praktinių pavyzdžių. Taip pat paaiškinsime rsync naudojimą kopijuojant vieną failą, kelis failus ir katalogą į vietines ir nuotolines sistemas. 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 nurodytas komandas ir procedūrą „Ubuntu 20.04 LTS“. Norėdami kopijuoti failus naudodami rsync, jums reikės komandinės eilutės terminalo. Norėdami atidaryti komandų eilutės terminalo programą, naudokite sparčiuosius klavišus Ctrl+Alt+T.



„Rsync“ diegimas

„Rsync“ yra iš anksto įdiegta „Ubuntu 20.04 LTS“. Tačiau jei jis atsitiktinai pašalinamas iš sistemos, galite jį įdiegti taip:



$sudotinkamasdiegtirsync

Štai keletas dažniausiai naudojamų parinkčių, kurias galima naudoti su rsync:





–A: archyvavimo režimas
–V: rodo išsamią kopijavimo proceso informaciją
–P: rodo eigos juostą
–R: rekursyviai kopijuoja duomenis
–Z: suspaudžia duomenis
–Q: slopinti išvestį

Nukopijuokite failus ir katalogus vietoje

Bendra rsync sintaksė yra tokia:



$rsync[variantas] [šaltinis] [Kelionės tikslas]

Nukopijuokite vieną failą vietoje

Jei norite kopijuoti failą iš vienos sistemos vietos į kitą, tai galite padaryti įvesdami rsync po to šaltinio failo pavadinimas ir paskirties katalogas.

Pavyzdžiui, norėdami nukopijuoti vieną failą file1.txt iš dabartinės vietos, esančios namų kataloge, į ~/Documents katalogą, komanda būtų tokia:

$rsync/namai/tiki/file1.txt/namai/tiki/Dokumentai

Pastaba: vietoj /home/tin/file1.txt taip pat galime įvesti failą1, nes šiuo metu dirbame namų kataloge. Be to, galime naudoti ~/Documents, o ne paminėti visą kelią kaip/home/tin/Documents.

Nukopijuokite kelis failus vietoje

Jei norite vienu metu nukopijuoti kelis failus iš vienos sistemos vietos į kitą, tai galite padaryti įvesdami rsync po to šaltinio failų pavadinimas ir paskirties katalogas.

Pavyzdžiui, norėdami nukopijuoti failus file2.txt ir file3.txt iš namų katalogo į katalogą ~/Documents, komanda būtų tokia:

$rsync/namai/tiki/file2.txt/namai/tiki/file3.txt/namai/tiki/Dokumentai

Norėdami nukopijuoti visus failus su tuo pačiu plėtiniu, galite naudoti žvaigždutę (*), o ne atskirai nurodyti failų pavadinimus. Pavyzdžiui, norėdami nukopijuoti visus failus iš namų katalogo, kuris baigiasi .zip plėtiniu, į katalogą ~/Documents, naudosime:

$rsync/namai/tiki/ *.zip ~/Dokumentai

Kopijuoti katalogus vietoje

Jei norite nukopijuoti katalogą su jo pakatalogiu ir visu turiniu iš vienos sistemos vietos į kitą, tai galite padaryti įvesdami rsync po to šaltinio ir paskirties katalogas.

Pavyzdžiui, norėdami nukopijuoti pavyzdinį katalogą į testą/ katalogą namų kataloge, komanda būtų tokia:

$rsync-apie /namai/tiki/pavyzdys/namai/tiki/testas

Pastaba: nurodant / po šaltinio katalogo nukopijuojamas tik katalogo turinys. Jei po šaltinio katalogo nenurodysime /, šaltinio katalogas taip pat bus nukopijuotas į paskirties katalogą.

Kaip ir šioje išvestyje, galite matyti, kad mūsų šaltinio katalogo pavyzdys taip pat nukopijuotas į paskirties katalogą (nes mes naudojome pavyzdį, o ne pavyzdį/ kaip šaltinio katalogą).

„Rsync“ palaiko laipsnišką perkėlimą, kaip matyti iš aukščiau pateiktos išvesties, kad jis perkelia tik naujus arba atnaujintus failus.

Kopijuokite failus pagal maksimalų dydį

Kopijuodami taip pat galime nurodyti maksimalų failų dydį, kurį galima nukopijuoti naudojant –max-size parinktį. Pavyzdžiui, norėdami nukopijuoti ne didesnius kaip 2000 tūkstančių failų failus iš ~/Atsisiuntimai į aplanką ~/Dokumentai, komanda būtų tokia:

$rsync --max dydis= 2000 tūkst/namai/tiki/Atsisiuntimai/ * /namai/tiki/Dokumentai

Ši komanda nukopijuos visus failus iš ~/Atsisiuntimai į ~/Dokumentų katalogą, išskyrus tuos, kurie yra didesni nei 2000 tūkst.

Nukopijuokite failus pagal minimalų dydį

Panašiai taip pat galime nurodyti minimalų failų dydį, kurį galima nukopijuoti naudojant –min dydžio parinktį. Pavyzdžiui, norint nukopijuoti ne mažesnius kaip 5 mln. Failus iš aplanko ~/Atsisiuntimai į aplanką ~/Dokumentai, komanda būtų tokia:

$rsync -min dydžio= 5 mln/namai/tiki/Atsisiuntimai/ /namai/tiki/Dokumentai

Ši komanda nukopijuos visus failus iš ~/Downloads į ~/Documents katalogą, išskyrus tuos, kurie yra mažesni nei 5 mln.

Neįtraukti failų

Kopijuodami failus iš vieno katalogo į kitą, galite išskirti kai kuriuos failus naudodami parinktį „išskirti“, po kurios nurodomas failo pavadinimas arba failo tipo plėtinys.

Pavyzdžiui, norėdami neįtraukti visų .zip failų kopijuodami failus iš katalogo ~/Atsisiuntimai į ~/Dokumentai, komanda būtų tokia:

$rsync --Neįtraukti=„*.zip“ /namai/tiki/Atsisiuntimai/ /namai/tiki/Dokumentai

Nuotoliniu būdu kopijuokite failus ir katalogus

Naudodami „Rsync“ galite nukopijuoti vieną failą, kelis failus ir katalogus į nuotolinę sistemą. Norėdami nuotoliniu būdu kopijuoti failus ir katalogus, 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:

$sshremote_user@remote_ip


Bendra failų ir katalogų kopijavimo į nuotolinę sistemą sintaksė naudojant rsync:

$rsync[variantas] [šaltinis] [nuotolinis vartotojas@nuotolinio valdymo pultas: paskirties vieta]

Pavyzdžiui, norėdami nukopijuoti vieną failą file.txt iš ~/Atsisiuntimai į nuotolinę sistemą ~/Dokumentai, komanda būtų tokia:

$rsync-v~/Atsisiuntimai/file1.txt umara@192.168.72.164:~/Dokumentai

Panašiai, norėdami nukopijuoti ~/Downloads/files katalogą vietinėje sistemoje su jo pakatalogiu ir visu turiniu į ~/Downloads/sample katalogą nuotolinėje sistemoje:

$rsync-rv~/Atsisiuntimai/failai umra@192.168.72.164:~/Atsisiuntimai/pavyzdžiai

Taip pat galite nukopijuoti failus ir katalogus iš nuotolinio įrenginio į vietinį įrenginį. Pavyzdžiui, jei norite nukopijuoti failą2.txt iš nuotolinės sistemos į vietinės sistemos darbalaukį:

$rsync-vumara@192.168.72.164:~/Atsisiuntimai/failas2.txt ~/Stalinis kompiuteris/

Panašiai nukopijuokite katalogą iš nuotolinės sistemos į vietinę sistemą

$rsync-rvumara@192.168.72.164:~/Atsisiuntimai/pavyzdys ~/Stalinis kompiuteris/testas

Kopijuodami failus į/iš nuotolinės sistemos, taip pat galite naudoti visas parinktis, tokias kaip –max-size, –min-size, –exclude ir kitas.

„Rsync“ yra puikus įrankis kopijuoti failus iš šaltinio į paskirties vietą arba nuotoliniu būdu. Jame yra daug parinkčių, kurios suteikia lankstumo ir valdymo perkeliant failus į/iš nuotolinės sistemos.