27Jun

Kuinka jättää tiedostot pois Rsyncistä

Rsync on yksi hyödyllisimmistä apuohjelmista palvelimen pääkäyttäjälle, mutta se synkronoi kaiken : n oletuksena, mikä voi olla ärsyttävää, jos sovelluksesi luo paljon väliaikaisia ​​tiedostoja. Näin poistat tiedostoja rsyncin käytön aikana.

Ei tiedostoluettelosta

Tämä on ihanteellinen tapa tiedostojen ja kansioiden poistamiseen, koska voit aina muokata luetteloa ja muokata asioita tarvittaessa. Tässä on syntaksi:

rsync - exclude-from = /path/to/ poissulkemis -tiedosto /path/to/-lähde /path/to/ dest

Rsyncin hankala asia on, että sinun on käytettävä suhteellista polkua, kun yrität jättää asioita pois,vastaa poikkeuksia, joita se ei käytä ottelun polun ensimmäiseen osaan. .. se on outoa.

Sano esimerkiksi, että yrität varmuuskopioida /data/web/: n ja lähettää sen toiselle palvelimelle, joten käytät komentoa kuten rsync -a /data/web/ user @ server: /backups/data/web/, jotta se tapahtuisi. .. mutta haluat todella ohittaa /data/web/cache/: n synkronoinninkansio. Kun rsync menee tarkastamaan jokaisen synkronoitavan kohteen poissulkemisluettelon, se ei tarkista /data/web/cache/: tä, koska alkuperäinen rsync-komento perustuu /data/web/-kansioon. Se vain tarkistaa "välimuistin" luettelosta. Joten sinun täytyy laittaa "välimuisti" luetteloon, ei koko polkuun. Esimerkki:

rsync -a -exclude-from = /data/-poissulkemiset /data/web/ /backups/

Jos poistettaisiin /data/web/-välimuisti ja /data/web/-temp rsyncistä tällä komennolla, poistamme polun /data/web/-osan ja /data/-poissulkemistiedosto sisältää yksinkertaisesti:

cache * temp *

Huomaat, että lisäsin * polkuun varmistaakseni, että se vastaa mitä tahansa, joka alkaa alussa "välimuistilla".Voit käyttää tätä tähtikuviota hyödyllisimmistä syistä, jos haluat - sanoa, että haluat jättää kaikki. txt-tiedostot synkronoitaviksi. Aloita kuvion tähdellä varmistaaksesi, että se vastaa aina, ja lisää tämä:

*. txt

Tämä varmistaisi, että tällaiset tiedostot ohitetaan synkronoinnin aikana. Se on melko yksinkertainen.

Ilman yksittäistä kohtaa

Tämä tekniikka on paljon vähemmän hyötyä, mutta voit käyttää sitä lennossa, jos tarvitset. Jos olet määrittänyt käsikirjoituksen käyttämään rsync-ohjelmaa, jota yleensä käytät, kannattaa ottaa ylimääräinen minuutti pois tiedostoluettelosta sen sijaan, että se olisi helpompaa tulevaisuudessa. Syntaksi on hyvin samanlainen:

rsync --exclude = suhteellinen /path/to/ poissulkeminen / lähde / kohde

Samaa suhteellista polkua tulisi soveltaa tässä yllä.