Rsyncin käyttäminen tiedostojen kopioimiseen

How Use Rsync Copy Files



Rsync on Linuxin komentorivityökalu, jota käytetään tiedostojen kopioimiseen lähdepaikasta kohdepaikkaan. Voit kopioida tiedostoja, hakemistoja ja koko tiedostojärjestelmän ja pitää tiedostot synkronoituna eri hakemistojen välillä. Se tekee enemmän kuin vain tiedostojen kopioinnin. Se vähentää verkon kautta lähetettävän datan määrää lähettämällä vain uusia tai päivitettyjä tiedostoja. Siksi sitä pidetään loistavana apuohjelmana tiedostojen kopiointiin ja varmuuskopiointiin. Rsync tukee myös tiedostojen kopiointia etäjärjestelmään SSH: n kautta.

Tässä artikkelissa selitämme, kuinka rsyncin avulla voit kopioida tiedostoja käytännön esimerkeillä. Selitämme myös rsyncin käytön yksittäisen tiedoston, useiden tiedostojen ja hakemiston kopioinnissa sekä paikallisille että etäjärjestelmille. Käsittelemme Rsyncin käyttöä:







  • Kopioi tiedosto/hakemisto paikallisesta järjestelmästä
  • Kopioi tiedosto/hakemisto paikallisesta etäjärjestelmään
  • Kopioi tiedosto/hakemisto etäjärjestelmästä paikalliseen

Olemme selittäneet tässä artikkelissa mainitut komennot ja menettelyt Ubuntu 20.04 LTS: llä. Tarvitset komentorivipäätteen tiedostojen kopioimiseen rsync-ohjelmalla. Avaa komentorivin Terminal -sovellus Ctrl+Alt+T -pikanäppäimellä.



Rsyncin asentaminen

Rsync on esiasennettu Ubuntu 20.04 LTS: ään. Jos se kuitenkin poistetaan vahingossa järjestelmästä, voit asentaa sen seuraavasti:



$sudosopivaAsentaarsync

Seuraavassa on joitain yleisesti käytettyjä vaihtoehtoja, joita voidaan käyttää rsyncin kanssa:





–A: arkistotila
–V: näyttää kopiointiprosessin yksityiskohdat
–P: näyttää edistymispalkin
–R: kopioi tiedot rekursiivisesti
–Z: pakkaa tiedot
-Q: lähdön tukahduttaminen

Kopioi tiedostot ja hakemistot paikallisesti

Rsyncin yleinen syntaksi on:



$rsync[vaihtoehto] [lähde] [määränpää]

Kopioi yksittäinen tiedosto paikallisesti

Jos haluat kopioida tiedoston järjestelmästäsi toiseen paikkaan, voit tehdä sen kirjoittamalla rsync jota seuraa lähdetiedoston nimi ja kohdehakemisto.

Jos esimerkiksi haluat kopioida yksittäisen tiedoston file1.txt nykyisestä sijainnista, joka on kotihakemisto ~/Documents -hakemistoon, komento olisi seuraava:

$rsync/Koti/usko/tiedosto1.txt/Koti/usko/Asiakirjat

Huomautus: Tiedoston /home/tin/file1.txt sijasta voimme myös kirjoittaa file1, koska työskentelemme parhaillaan kotihakemistossa. Voimme myös käyttää ~/Documents sen sijaan, että mainitsimme koko polun nimellä/home/tin/Documents.

Kopioi useita tiedostoja paikallisesti

Jos haluat kopioida useita tiedostoja kerralla järjestelmästäsi toiseen paikkaan, voit tehdä sen kirjoittamalla rsync jota seuraa lähdetiedostojen nimi ja kohdehakemisto.

Jos haluat esimerkiksi kopioida tiedostot file2.txt ja file3.txt kotihakemistosta ~/Documents -hakemistoon, komento olisi seuraava:

$rsync/Koti/usko/tiedosto2.txt/Koti/usko/tiedosto3.txt/Koti/usko/Asiakirjat

Jos haluat kopioida kaikki tiedostot, joilla on sama laajennus, voit käyttää tähtimerkkiä (*) sen sijaan, että määrittäisit tiedostonimet erikseen. Esimerkiksi kopioidaksesi kaikki tiedostot kotihakemistosta, joka päättyy .zip -tiedostopääteeseen ~/Documents -hakemistoon, käytämme:

$rsync/Koti/usko/ *.zip ~/Asiakirjat

Kopioi hakemistot paikallisesti

Jos haluat kopioida hakemiston ja sen alihakemiston ja kaiken sisällön järjestelmästäsi toiseen paikkaan, voit tehdä sen kirjoittamalla rsync jota seuraa lähde- ja kohdehakemisto.

Jos esimerkiksi haluat kopioida näytehakemiston kotihakemiston testi-/ hakemistoon, komento olisi seuraava:

$rsync-of /Koti/usko/näyte/Koti/usko/testata

Huomautus: Lähdehakemiston määrittäminen / jälkeen kopioi vain hakemiston sisällön. Jos emme määritä /lähdehakemiston jälkeen, lähdehakemisto kopioidaan myös kohdehakemistoon.

Kuten seuraavassa tuloksessa, näet, että myös lähdehakemisto -näytteemme kopioidaan kohdehakemistoon (koska olemme käyttäneet näytettä näytteen/ lähdehakemiston sijaan).

Rsync tukee inkrementaalista siirtoa, kuten yllä olevasta tulostuksesta näkyy, että se siirtää vain uudet tai päivitetyt tiedostot.

Kopioi tiedostot enimmäiskoon perusteella

Kopioinnin aikana voimme myös määrittää enimmäiskoko tiedostoja, jotka voidaan kopioida –max-size -asetuksella. Esimerkiksi, jos haluat kopioida enintään 2000k tiedostot ~/Downloads -hakemistosta ~/Documents -hakemistoon, komento olisi seuraava:

$rsync-kohteeseen --max-koko= 2000k/Koti/usko/Lataukset/ * /Koti/usko/Asiakirjat

Tämä komento kopioi kaikki tiedostot ~/Downloads -hakemistosta ~/Documents -hakemistoon lukuun ottamatta niitä, jotka ovat suurempia kuin 2000 kt.

Kopioi tiedostot vähimmäiskoon perusteella

Samoin voimme myös määrittää minimin koon tiedostoja, jotka voidaan kopioida –min-size-vaihtoehdolla. Esimerkiksi, jos haluat kopioida vähintään 5 miljoonaa tiedostoa hakemistosta ~/Lataukset hakemistoon ~/Dokumentit, komento olisi seuraava:

$rsync-kohteeseen -min-kokoinen= 5 miljoonaa/Koti/usko/Lataukset/ /Koti/usko/Asiakirjat

Tämä komento kopioi kaikki tiedostot hakemistosta ~/Downloads ~/Documents -hakemistoon, lukuun ottamatta niitä, jotka ovat pienempiä kuin 5 miljoonaa.

Sulje tiedostot pois

Kopioidessasi tiedostoja hakemistosta toiseen voit sulkea joitain tiedostoja pois käyttämällä -vaihtoehtoa, jota seuraa tiedostonimi tai tiedostotyypin laajennus.

Esimerkiksi, jos haluat sulkea pois kaikki .zip -tiedostot, kun kopioit tiedostoja hakemistosta ~/Downloads ~/Documents, komento olisi:

$rsync-kohteeseen -sulje pois='*.postinumero' /Koti/usko/Lataukset/ /Koti/usko/Asiakirjat

Kopioi tiedostot ja hakemistot etänä

Rsyncin avulla voit kopioida yhden tiedoston, useita tiedostoja ja hakemistoja etäjärjestelmään. Jos haluat kopioida tiedostoja ja hakemistoja etänä, tarvitset:

  • Rsync on asennettu sekä paikalliseen että etäjärjestelmään
  • SSH -yhteys etäjärjestelmään
  • Etäkäyttäjän salasana

Ennen kuin kopioit tiedostoja rsyncin avulla, varmista, että voit käyttää etäjärjestelmää SSH: n kautta:

$sshremote_user@remote_ip


Yleinen syntaksi tiedostojen ja hakemistojen kopioimiseksi etäjärjestelmään rsyncin avulla:

$rsync[vaihtoehto] [lähde] [etäkäyttäjä@kaukosäädin: määränpää]

Jos esimerkiksi haluat kopioida yhden tiedoston file.txt tiedostosta ~/Lataukset etäjärjestelmään ~/Dokumentit -hakemistoon, komento olisi seuraava:

$rsync-v~/Lataukset/tiedosto1.txt umara@192.168.72.164:~/Asiakirjat

Samoin kopioida ~/Lataukset/tiedostot-hakemiston paikallisessa järjestelmässä sen alihakemiston ja kaiken sisällön kanssa etäjärjestelmän ~/Lataukset/näytteet-hakemistoon:

$rsync-rv~/Lataukset/tiedostot umra@192.168.72.164:~/Lataukset/näytteet

Voit myös kopioida tiedostot ja hakemistot etäkoneelta paikalliselle koneellesi. Esimerkiksi tiedoston 2.txt kopioiminen etäjärjestelmästä paikallisen järjestelmän työpöydälle:

$rsync-vumara@192.168.72.164:~/Lataukset/tiedosto2.txt ~/Työpöytä/

Samoin hakemiston kopioiminen etäjärjestelmästä paikalliseen järjestelmään

$rsync-rvumara@192.168.72.164:~/Lataukset/näyte ~/Työpöytä/testata

Voit myös käyttää kaikkia vaihtoehtoja, kuten –max-size, –min-size, –exclude ja muita, kun kopioit tiedostoja etäjärjestelmään tai siitä pois.

Rsync on loistava työkalu tiedostojen kopioimiseen lähteestä kohteeseen joko paikallisesti tai etänä. Se sisältää laajan valikoiman vaihtoehtoja, jotka antavat sinulle joustavuutta ja hallintaa siirrettäessä tiedostoja etäjärjestelmään/järjestelmästä.