27Jun

Hogyan lehet kizárni a fájlokat az Rsyncből?

Az Rsync az egyik leghasznosabb segédprogram a kiszolgáló rendszergazdájának, de alapértelmezés szerint szinkronizálja az mindent -t, ami bosszantó lehet, ha az alkalmazás számos ideiglenes fájlt hoz létre. Az alábbiakban hogyan lehet kizárni a fájlokat az rsync használatakor.

Fájllistából való kizárás

Ez az ideális módszer a fájlok és mappák kizárására, mivel szükség esetén mindig szerkesztheti a listát és módosíthatja a dolgokat. Itt van a szintaxis:

rsync --exclude-from = /path/to/ exclusion-fájl /path/to/ forrás /path/to/ dest

Az rsync-vel bonyolult dolog az, hogy relatív útvonalat kell használnod, amikor megpróbálsz kizárni a dolgokat,illeszkedik a kizárásokhoz, hogy nem fogja használni a mérkőzés első szakaszát. .. ez furcsa.

Mondja például, hogy megpróbál biztonsági másolatot készíteni az /data/web/-ről és elküldeni egy másik kiszolgálóra, így olyan parancsot használhat, mint az rsync -a /data/web/ felhasználó @ kiszolgáló: /backups/data/web/, hogy ez megtörténjen. .. de tényleg szeretné kihagyni az /data/web/cache/ szinkronizálásátmappát. Amikor az rsync megpróbálja ellenőrizni a kizárási listát minden egyes szinkronizált elemhez, akkor az /data/web/cache/ nem ellenőrizhető, mivel az eredeti rsync parancs az /data/web/ mappában található.Csak ellenőrizni fogja a "cache /" listát. Tehát "gyorsítótárat" kell elhelyezned a listán, nem pedig a teljes elérési utat. Példa:

rsync -a -exclude-from = /data/ kizárások /data/web/ /backups/

Az /data/web/ gyorsítótár és az /data/web/ tempó kizárása az rsync segítségével a parancs segítségével eltávolítanánk az /data/web/ szakaszát, és az /data/ kizárási fájl egyszerűen ezt tartalmazza:

gyorsítótár * temp *

Megjegyezzük, hogy a * -ot az ösvényhez adtam hozzá, hogy meggyőződjön arról, hogy megfelel minden olyannak, amely elején "cache" -el kezdődik. Használhatja ezt a csillagmintát több hasznos okból, ha azt akarja - mondja, hogy kizárnia kell az összes. txt fájlt szinkronizálni. A mintát a csillaggal kezdve győződhet meg arról, hogy mindig illeszkedik, és ehhez hozzáadja:

*. txt

Ez biztosítja, hogy az ilyen típusú fájlokat szinkronban kihagyják. Ez túl egyszerű.

Egyetlen elem kizárása

Ez a technika sokkal kevésbé hasznos, de akkor is használhatja, ha szükséges. Ha olyan parancsfájlt állít be, amely az rsync használatához tartozik, akkor általában az extra percet kell elvennie a fájllistából való kizárás érdekében, hogy megkönnyítse a jövőbeli karbantartást. A szintaxis nagyon hasonlít:

rsync --exclude = relatív /path/to/ kizárás / forrás / cél

Ugyanaz a relatív útvonalat kell alkalmazni, mint fent.