Rsyncin käyttäminen uusien tai muutettujen/muokattujen tiedostojen synkronoimiseen Linuxissa


Järjestelmänvalvojana tai Linuxin tehokäyttäjänä olet ehkä törmännyt tai jopa useaan otteeseen käyttänyt monipuolista Linux Rsync -työkalua, jonka avulla käyttäjät voivat kopioida tai synkronoida tiedostoja nopeasti paikallisesti ja etänä. Se on myös loistava työkalu, jota käytetään yleisesti varmuuskopiointiin ja peilaukseen.

Jotkut sen merkittävistä ominaisuuksista ja eduista ovat; se on poikkeuksellisen monipuolinen siinä mielessä, että se voi kopioida paikallisesti, etäkäskyyn tai etä-rsynciin, se on myös erittäin joustava, jolloin käyttäjät voivat määrittää kuinka monta tiedostoa kopioidaan.

Suositeltu luku: 10 käytännön esimerkkiä Rsync-komennosta Linuxissa

Lisäksi se sallii linkkien, laitteiden, tiedostojen tai hakemistojen omistajien, ryhmien ja käyttöoikeuksien kopioimisen. Se tukee myös käyttöä ilman pääkäyttäjän oikeuksia yhdistettynä moniin muihin.

Yksi rsyncin välttämätön ero muihin Linuxin tiedostojen kopiointikomentoihin verrattuna on sen etäpäivitysprotokollan käyttö siirtääkseen vain tiedostojen tai hakemiston sisällön väliset erot.

Siksi tässä artikkelissa tutkimme, kuinka rsync voi auttaa meitä vain synkronoimaan uusia tai muutettuja tiedostoja tai hakemistosisältöä varmuuskopioiden tekemisen ja sen jälkeen Linuxissa.

Aluksi sinun on muistettava, että rsyncin tavanomainen ja yksinkertaisin käyttötapa on seuraava:

rsync options source destination 

Sukeltakaamme kuitenkin esimerkkeihin saadaksemme selville, kuinka yllä oleva konsepti todella toimii.

Tiedostojen synkronointi paikallisesti Rsyncin avulla

Alla olevan komennon avulla pystyn kopioimaan tiedostoja Dokumentit-hakemistostani /tmp/documents-hakemistoon paikallisesti:

rsync -av Documents/* /tmp/documents

Yllä olevassa komennossa vaihtoehto:

  1. -a – tarkoittaa arkistointitilaa
  2. -v – tarkoittaa monisanaista, joka näyttää yksityiskohdat käynnissä olevista toiminnoista

Oletuksena rsync kopioi vain uudet tai muutetut tiedostot lähteestä kohteeseen, kun lisään uuden tiedoston Dokumentit-hakemistoon, näin tapahtuu saman komennon suorittamisen jälkeen. toisen kerran:

rsync -av Documents/* /tmp/documents

Kuten voit havaita ja huomata komennon lähdöstä, vain uusi tiedosto kopioidaan kohdehakemistoon.

Suositeltu luku: Kahden Apache-verkkopalvelimen/verkkosivuston synkronoiminen Rsyncin avulla

Vaihtoehto --update tai -u sallii rsyncin ohittaa kohdehakemistossa olevat tiedostot, jotka ovat vielä uusia, ja yksi tärkeä vaihtoehto, --dry-run tai -n mahdollistaa testitoiminnon suorittamisen ilman muutoksia. Se näyttää meille, mitä tiedostoja kopioidaan.

rsync -aunv Documents/* /tmp/documents

Testauksen suorittamisen jälkeen voimme poistaa -n-koodin ja suorittaa todellisen toiminnon:

rsync -auv Documents/* /tmp/documents

Tiedostojen synkronointi paikallisesta Linuxiin

Alla olevassa esimerkissä kopioin tiedostoja paikalliselta koneeltani etäpalvelimeen, jonka IP-osoite on 10.42.1.5. Jotta synkronoidaan vain paikallisen koneen uudet tiedostot, joita ei ole etäkoneella, voimme sisällyttää valinnan --ignore-existing:

rsync -av --ignore-existing Documents/* [email :~/all/

Sen jälkeen synkronoidaksemme vain päivitetyt tai muokatut tiedostot etäkoneella, jotka ovat muuttuneet paikallisessa koneessa, voimme suorittaa kuivaajon ennen tiedostojen kopioimista seuraavasti:

rsync -av --dry-run --update Documents/* [email :~/all/
rsync -av --update Documents/* [email :~/all/

Käytämme --existing-vaihtoehtoa olemassa olevien tiedostojen päivittämiseksi ja uusien tiedostojen luomisen estämiseksi.

Voit käydä läpi man rsync -sivun löytääksesi lisähyödyllisiä vaihtoehtoja edistyneeseen käyttöön, kuten aiemmin mainitsin, rsync on erittäin tehokas ja monipuolinen Linux-työkalu, ja monet järjestelmät Järjestelmänvalvojat ja Linuxin tehokäyttäjät tietävät, kuinka edullinen se on.

Mikä tärkeintä, voit myös jakaa näkemyksesi tässä käsitellyistä esimerkeistä tai, mikä vielä parempaa, tarjota meille arvokkaita vinkkejä tämän tärkeän komentorivityökalun käyttämiseen alla olevan kommenttiosion kautta.