Android

Fájlok és könyvtárak kizárása az rsync segítségével

Windows Defender, kivételek hozzáadása

Windows Defender, kivételek hozzáadása

Tartalomjegyzék:

Anonim

Az Rsync gyors és sokoldalú parancssori segédprogram, amely távoli héjon keresztül szinkronizálja a fájlokat és mappákat két hely között.

Az Rsync segítségével tükrözheti az adatokat, növekményes biztonsági másolatot készíthet és fájlokat másolhat a rendszerek között. Adatok másolásakor érdemes kizárni egy vagy több fájlt vagy könyvtárat név vagy hely alapján.

Ebben az oktatóanyagban megmutatjuk, hogyan lehet kizárni a fájlokat és könyvtárakat az rsync használatával.

Mielőtt elkezded

Alapvető ismeretekkel kell rendelkeznie az rsync működéséről.

Az alábbi példákban az rsync-t fogjuk használni az -a , opcióval. Ez azt mondja az rsync-nek, hogy rekurzív módon szinkronizálja a könyvtárakat, továbbítsa a speciális és blokkoló eszközöket, és megőrizze a szimbolikus hivatkozásokat, a módosítási időket, a csoportot, a tulajdonjogot és az engedélyeket.

A fájlok vagy könyvtárak kizárásakor a forráskönyvtár relatív útvonalait kell használni.

Két lehetőség van a kizárni kívánt fájlok és könyvtárak meghatározására:

  • A parancssorból a --exclude opciót használva. A fájlból a --exclude-from opciót használva.

Kizár egy adott fájlt

Egy adott fájl kizárásához adja át a fájl relatív elérési útját a --exclude opcióhoz.

A következő példában az src_directory/file.txt fájlt nem továbbítják:

rsync -a --exclude 'file.txt' src_directory/ dst_directory/

Kizár egy adott könyvtárat

Egy adott könyvtár kizárása megegyezik a fájl kizárásával, csak adja át a könyvtár relatív elérési útját a --exclude opcióhoz, az alább látható módon:

rsync -a --exclude 'dir1' src_directory/ dst_directory/

rsync -a --exclude 'dir1/*' src_directory/ dst_directory/

Kizárjon több fájlt vagy könyvtárat

Több fájl vagy könyvtár kizárásához egyszerűen adja meg a többszörös - kizárási lehetőségeket:

rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/

rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/

Ha a kizárni kívánt fájlok és / vagy könyvtárak száma nagy, a --exclude többszörös opciók használata helyett megadhatja a fájlban kizárni kívánt fájlokat és könyvtárakat, és átadhatja a fájlt a --exclude-from fájlnak választási lehetőség.

Az alábbi parancs pontosan ugyanazt teszi, mint a fenti:

rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/ kizárja-file.txt

file1.txt dir1/* dir2

Zárja ki a minta alapján több fájlt vagy könyvtárat

Az rsync segítségével kizárhatja a fájlokat és könyvtárakat is a minta vagy a könyvtár nevével megegyező minta alapján.

Például az összes futtatott .jpg fájl kizárásához:

rsync -a --exclude '*.jpg*' src_directory/ dst_directory/

Alig bonyolultabb kizárni az összes többi fájlt és könyvtárat, kivéve azokat, amelyek megfelelnek egy adott mintának. Tegyük fel, hogy ki akarja zárni az összes többi fájlt és könyvtárat, kivéve a .jpg fájllal végződő fájlokat.

Az egyik lehetőség a következő parancs használata:

rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/

Többszörös bevonás / kizárás opció használata esetén az első egyezési szabály érvényes.

  • --include='*.jpg' - Először az összes .jpg fájlt tartalmazza. --include='*/' - Akkor belefoglaljuk az összes könyvtárat az src_directory könyvtárba. E nélkül az rsync csak a *.jpg fájlokat másolja a legfelső szintű könyvtárba. -m - Az üres könyvtárakat eltávolítja.

Egy másik lehetőség az, hogy a find parancs kimenetet az rsync-hez továbbítja:

find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/

  • -printf %P\\0\\n - eltávolítja az src_directory/ fájlt a fájl elérési útjáról. --files-from=- - azt jelenti, hogy csak a szokásos bemeneti fájlokat tartalmazzák (a find parancsból átadott fájlok).

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan lehet kizárni a fájlokat és könyvtárakat, amikor az Rsync-rel adatot továbbít. Sokkal többet megtudhat az Rsync-ről az Rsync Felhasználói kézikönyv oldalon.

rsync terminál