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

Tartalomjegyzék:

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

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

Videó: Hogyan lehet kizárni a fájlokat az Rsyncből?
Videó: Troubleshooting Hard Disks - YouTube 2024, Lehet
Anonim
Image
Image

Az Rsync a szerver-adminisztrátor egyik leghasznosabb segédprogramja, de szinkronizálminden alapértelmezés szerint, ami bosszantó lehet, ha alkalmazásával sok ideiglenes fájlt hoz létre. Az alábbiakban hogyan lehet kizárni a fájlokat az rsync használatakor.

Fájl listájából kizárva

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-file /path/to/source /path/to/dest

Az rsyncrel kapcsolatos bonyolult dolog az, hogy relatív útvonalat kell használnod, amikor megpróbálsz kizárni a dolgokat, mert amikor megpróbálja megfeleltetni a kizárásokat, akkor nem fogja használni a mérkőzés első szakaszát … ez furcsa.

Tegyük fel például, hogy megpróbálunk mentést / adatot / webet küldeni és elküldeni egy másik kiszolgálóra, így az rsync -a / data / web / user @ server: / backups / data / web / paranccsal megtörténhet … de tényleg szeretné kihagyni az / data / web / cache / folder szinkronizálását. Amikor az rsync megpróbálja ellenőrizni a kizárási listát minden egyes szinkronizálni kívánt elemhez, akkor nem ellenőrzi az adatokat / web / gyorsítótárat, 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/exclusions /data/web/ /backups/

Most, hogy kizárjuk a / data / web / cache és / data / web / temp parancsot az rsync használatával ezzel a paranccsal eltávolítjuk az elérési út / data / web / részét és az / data / exclusions fájl egyszerűen ezt tartalmazza:

cache* temp*

Megjegyezzük, hogy a * -ot az ösvénybe helyeztem, hogy meggyőződjön róla, hogy megegyezik minden olyan elemmel, amely elején "cache" -al 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. Elkezdi a mintát a csillaggal, hogy megbizonyosodjon róla, hogy mindig illeszkedik, és ehhez adja hozzá:

*.txt

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

Egyetlen tétel nélkül

Ez a technika sokkal kevésbé hasznos, de akkor is használhatja a repülést, ha kell. 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ó:

rsync --exclude=relative/path/to/exclusion /source /dest

Ugyanezt a relatív útvonalat kell alkalmazni a fentiek szerint.

Ajánlott: