Tässä artikkelissa selitämme, kuinka rsync-sovellusta käytetään tiedostojen kopioimiseen, käytännön esimerkkien avulla. Selitämme myös rsyncin käytön yhden tiedoston, useiden tiedostojen ja hakemiston kopioinnissa sekä paikallisiin että etäjärjestelmiin. Käsittelemme Rsyncin käyttöä:
- Kopioi tiedosto / hakemisto paikalliseen järjestelmään
- 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 menettelytavat Ubuntu 20: ssa.04 LTS. Tarvitset komentorivipäätteen tiedostojen kopioimiseksi rsyncin avulla. Voit avata komentorivin Terminal -sovelluksen käyttämällä pikanäppäimiä Ctrl + Alt + T.
Asennetaan Rsync
Rsync on esiasennettu Ubuntu 20: een.04 LTS. Jos se kuitenkin vahingossa poistetaan järjestelmästä, voit asentaa sen seuraavasti:
$ sudo apt install rsyncTässä on joitain yleisimmin käytettyjä vaihtoehtoja, joita voidaan käyttää rsyncin kanssa:
-a: arkistotila
-v: näyttää yksityiskohdat kopiointiprosessista
-p: näyttää edistymispalkin
-r: kopioi tietoja rekursiivisesti
-z: pakkaa tiedot
-q: estä lähtö
Kopioi tiedostot ja hakemistot paikallisesti
Rsyncin yleinen syntaksin muoto on:
$ rsync [vaihtoehto] [lähde] [kohde]Kopioi yksi tiedosto paikallisesti
Jos haluat kopioida tiedoston järjestelmässäsi paikasta toiseen, voit tehdä sen kirjoittamalla rsync jota seuraa lähdetiedoston nimi ja kohdehakemisto.
Esimerkiksi kopioida yksi tiedosto “tiedosto1.txt ”nykyisestä kotihakemistosta ~ / Documents-hakemistoon, komento olisi:
$ rsync / home / tin / file1.txt / home / tin / Asiakirjat
Huomaa: ”/ home / tin / file1: n sijaan.txt ”, voimme kirjoittaa myös” file1 ”, koska työskentelemme tällä hetkellä kotihakemistossa. Voimme myös käyttää ~ / Documents sen sijaan, että mainitsemme koko polun nimellä "/ home / tin / Documents".
Kopioi useita tiedostoja paikallisesti
Jos haluat kopioida useita tiedostoja kerralla yhdestä sijainnista toiseen järjestelmässäsi, voit tehdä sen kirjoittamalla rsync jota seuraa lähdetiedostojen nimi ja kohdehakemisto.
Esimerkiksi kopioida tiedostot “file2.txt ”ja“ tiedosto3.txt ”kotihakemistosta ~ / Documents-hakemistoon, komento olisi:
$ rsync / home / tin / file2.txt / home / tin / file 3.txt / home / tin / Asiakirjat
Jos haluat kopioida kaikki tiedostot, joilla on sama laajennus, voit käyttää tähtiä (*) sen sijaan, että määrität tiedostonimet erikseen. Esimerkiksi kopioida kaikki tiedostot kotihakemistosta, joka päättyy.zip ”-laajennus ~ / Documents-hakemistoon, käytämme:
$ rsync / home / tin / *.zip ~ / AsiakirjatKopioi hakemistot paikallisesti
Jos haluat kopioida hakemiston sen alihakemiston ja kaiken sisällön paikasta toiseen järjestelmässäsi, voit tehdä sen kirjoittamalla rsync jota seuraa lähde- ja kohdehakemisto.
Esimerkiksi, jos haluat kopioida “sample” -hakemiston “test /” -hakemistoon kotihakemistossa, komento olisi:
$ rsync -av / home / tin / sample / home / tin / testHuomaa: Jos määrität "/" lähdehakemiston jälkeen, kopioidaan vain hakemiston sisältö. Jos emme määritä “/” lähdekoodihakemiston jälkeen, myös lähdehakemisto kopioidaan kohdehakemistoon.
Kuten seuraavassa lähdössä, voit nähdä, että lähdehakemisto "näyte" kopioidaan myös kohdehakemistoon (koska lähdehakemistona olemme käyttäneet "näyte" "näyte" / "näyte" sijasta).
Rsync tukee inkrementaalista siirtoa, kuten yllä olevasta lähdöstä näet, että se siirtää vain uudet tai päivitetyt tiedostot.
Kopioi tiedostot enimmäiskoon mukaan
Kopioinnin aikana voimme myös määrittää kopioitavien tiedostojen enimmäiskoon "-max-size" -vaihtoehdolla. Esimerkiksi, jos haluat kopioida enintään 2000 kt: n tiedostot ~ / Downloads-tiedostosta ~ / Documents-hakemistoon, komento olisi:
$ rsync -a --max-size = 2000k / home / tin / Lataukset / * / home / tin / DocumentsTämä komento kopioi kaikki tiedostot ~ / Downloads-tiedostosta ~ / Documents-hakemistoon paitsi ne, jotka ovat suurempia kuin 2000k.
Kopioi tiedostot vähimmäiskoon mukaan
Vastaavasti voimme myös määrittää tiedostojen vähimmäiskoon, joka voidaan kopioida "-min-size" -vaihtoehdolla. Esimerkiksi, jos haluat kopioida vähintään 5 M: n tiedostot ~ / Downloads-tiedostosta ~ / Documents-hakemistoon, komento olisi:
$ rsync -a --min-size = 5M / koti / tina / Lataukset / / koti / tina / AsiakirjatTämä komento kopioi kaikki tiedostot ~ / Downloads-tiedostosta ~ / Documents-hakemistoon paitsi alle 5 M: n tiedostot.
Sulje tiedostot pois
Kun kopioit tiedostoja hakemistosta toiseen, voit jättää joitain tiedostoja pois käyttämällä ”-poissulje” -vaihtoehtoa, jota seuraa tiedoston nimi tai tiedostotyypin laajennus.
Esimerkiksi sulkea kaikki .zip-tiedostoja, kun kopioit tiedostoja ~ / Lataukset ~ / Documents-hakemistoon, komento olisi:
$ rsync -a --exclude = "*.zip "/ koti / tina / Lataukset / / koti / tina / AsiakirjatKopioi tiedostot ja hakemistot etänä
Rsyncin avulla voit kopioida yhden tiedoston, useita tiedostoja ja hakemistoja etäjärjestelmään. Tiedostojen ja hakemistojen etäkopiointiin tarvitaan:
- Rsync asennettuna 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ä pääset etäjärjestelmään SSH: n kautta:
$ ssh remote_user @ remote_ip
Yleinen syntaksi tiedostojen ja hakemistojen kopioimiseksi etäjärjestelmään rsyncin avulla:
Esimerkiksi kopioida yksi tiedosto “tiedosto.txt ”tiedostosta ~ / Lataukset etäjärjestelmään ~ / Documents-hakemistoon komento olisi:
$ rsync -v ~ / Lataukset / tiedosto1.txt umara @ 192.168.72.164: ~ / Asiakirjat
Vastaavasti kopioi "~ / Downloads / files" -hakemisto paikalliseen järjestelmään sen alihakemiston ja kaiken sisällön kanssa etäjärjestelmän "~ / Downloads / sample" -hakemistoon:
$ rsync -rv ~ / Lataukset / tiedostot umara @ 192.168.72.164: ~ / Lataukset / näytteet
Voit myös kopioida tiedostot ja hakemistot etäkoneelta paikalliselle koneellesi. Esimerkiksi kopioida “tiedosto2.txt ”etäjärjestelmästä paikallisen järjestelmän työpöydälle:
$ rsync -v umara @ 192.168.72.164: ~ / Lataukset / tiedosto2.txt ~ / Työpöytä /
Vastaavasti kopioida hakemisto etäjärjestelmästä paikalliseen järjestelmään
$ rsync -rv umara @ 192.168.72.164: ~ / Lataukset / näyte ~ / Työpöytä / testiVoit myös käyttää kaikkia vaihtoehtoja, kuten -max-size, -min-size, -exclude ja muita, kun kopioit tiedostoja etäjärjestelmään.
Rsync on loistava työkalu tiedostojen kopioimiseen lähteestä kohteeseen joko paikallisesti tai etänä. Se sisältää suuren joukon vaihtoehtoja, jotka antavat sinulle joustavuutta ja hallittavuutta siirrettäessä tiedostoja etäjärjestelmään / etäjärjestelmästä.