Parodysime, kaip galite išskirti failą ar katalogą naudodami skirtingus pavyzdžius naudodami „rsync“. Čia pateikti pavyzdžiai buvo išbandyti naudojant „Ubuntu 20“.04 LTS, tačiau tai galioja ir kitiems „Linux“ paskirstymams, kuriuose įdiegtas „rsync“.
Išskirkite konkretų failą
Sinchronizuodami katalogą, galbūt norėsite išskirti konkretų jame esantį failą. Tai galite padaryti naudodami parinktį -exclude, po kurios kableliuose pateikiamas failo pavadinimas.
Komandos sintaksė bus:
$ rsync -a - neįtraukite „file_name“ šaltinio_katalogo / paskirties_katalogo /Čia, a parinktis naudojama rekursiniam sinchronizavimui.
Pavyzdžiui, norėdami išskirti failą pavadinimu pavyzdys.txt iš šaltinio sinchronizuojant src_dir ir dest_dir, komanda būtų tokia:
$ rsync -a --išskirkite 'pavyzdį.txt 'src_dir / dest_dir /
Išskirkite konkretų katalogą
Norėdami pašalinti konkretų katalogą (įskaitant jo pakatalogius) iš šaltinio sinchronizuodami šaltinio ir paskirties katalogus, naudokite šią sintaksę:
$ rsync -a - neįtraukti „katalogo_pavadinimas“ src_dir / dest_dir /Pavyzdžiui, norėdami išskirti katalogą pavadinimu samplingir sinchronizuojant src_dir ir dest_dir, komanda būtų tokia:
$ rsync -a - neįtraukti „sampledir“ src_dir / dest_dir /
Jei norite išskirti katalogo turinį, bet ne patį katalogą, naudokite katalogo pavadinimą, po kurio nurodoma / *:
$ rsync -a - neįtraukti „sampledir / *“ src_dir / dest_dir /Pirmiau nurodyta komanda nukopijuos katalogą tik į paskirties vietą, bet ne jo turinį.
Išskirkite kelis failus ar katalogus
Norėdami sinchronizavimo metu išskirti kelis failus ar katalogus, nurodykite kiekvieną iš jų taip:
$ rsync -a - neįtraukti „failo_vardas“ - neįtraukti „katalogo1 - neįtraukti„ katalogo2 “src_dir / dest_dir /
Užuot nurodęs -Neįtraukti parinktį atskirai kiekvienam failui ar katalogui, galite naudoti vieną -Neįtraukti parinktį, nurodant visus failus ar katalogus garbanotuose skliaustuose.
$ rsync -a --exclude = 'failo_vardas', 'katalogas1', 'katalogas2' src_dir / dest_dir /
Kita galimybė išskirti kelis failus ar katalogus yra juos įrašyti į failą ir tada perduoti failo pavadinimą -neįtraukti iš variantas:
$ rsync -a --exclude-from 'list' src_dir / dest_dir /Čia „sąraše“ yra failo ir katalogų pavadinimas, kurį norime išskirti. Ši komanda sinchronizuoja src_dir su dest_dir, išskyrus failus ir katalogus, nurodytus „sąrašo“ faile.
Išskirkite šabloną atitinkančius failus ar katalogus
Naudodami „rsync“, taip pat galite išskirti failus ar katalogus, atitinkančius konkretų modelį. Pavyzdžiui, sinchronizuodami katalogą, galite išskirti visus failus, kurie baigiasi a .txt pratęsimas. Šiuo atveju komanda būtų tokia:
$ rsync -a - neįtraukti '*.txt 'src_dir / dest_dir /
Išskirkite failą pagal dydį
Naudodami „rsync“ galite išskirti failus pagal jų mažiausią arba didžiausią dydį. Čia mes nenaudosime parinkties -exclude, bet -max-size =
Čia yra mūsų sąrašas src_dir kuriame rodomi failų pavadinimai kartu su jų dydžiais MB.
Tarkime, kad norime sinchronizuoti visus failus su dest_dir, išskyrus tuos, kurių dydis didesnis nei 100 MB. Tokiu atveju komanda būtų tokia:
$ rsync -av --max-size = 100m src_dir / dest_dir /
Panašiai, jei norite išskirti failus, kurie yra mažesni nei konkretaus dydžio, tarkime, 50 MB, komanda būtų tokia:
$ rsync -av --min-size = 50m src_dir / dest_dir /Išvada
Tai viskas, kas yra! Šiame įraše aptarėme įvairius pavyzdžius, kaip išskirti failą ar katalogą „rsync“. Parodėme, kaip išskirti vieną failą ar katalogą, kelis failus ir katalogus, failus, atitinkančius konkretų modelį, ir failus pagal jų mažiausią / maksimalų dydį.