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.