rsync

Kako izuzeti direktorij Rsync?

Kako izuzeti direktorij Rsync?
Rsync (kratica za daljinsku sinkronizaciju) vrlo je moćan uslužni program naredbenog retka za lokalnu i udaljenu sinkronizaciju datoteka i direktorija. Dolazi predinstaliran na većinu Linux distribucija. To je jedan od najboljih uslužnih programa za sigurnosno kopiranje i sinkronizaciju datoteka i direktorija na više lokacija. Najbolji dio o rsync je što smanjuje količinu podataka koji se kopiraju na udaljeno mjesto kopiranjem samo podataka koji su promijenjeni. Postoji još jedna sjajna značajka rsynca o kojoj ćemo razgovarati danas; to je isključivanje datoteka ili direktorija iz sinkronizacije. To je izuzetno korisno tijekom izrade sigurnosnih kopija kada ne želite kopirati jednu ili više datoteka ili direktorija.

Pokazat ćemo vam kako možete izuzeti datoteku ili direktorij u rsyncu koristeći različite primjere. Ovdje predstavljeni primjeri testirani su na Ubuntu 20.04 LTS, međutim, oni vrijede i za druge Linux distribucije na kojima je instaliran rsync.

Izuzmite određenu datoteku

Tijekom sinkronizacije direktorija, možda ćete htjeti izuzeti određenu datoteku koja se nalazi u njemu. To možete učiniti pomoću opcije -exclude iza koje slijedi ime datoteke priloženo zarezima.

Sintaksa naredbe bit će:

$ rsync -a --exclude 'ime_datoteke' izvorni_direktorij / odredišni_direktorij /

Ovdje, a opcija se koristi za rekurzivnu sinkronizaciju.

Na primjer, za izuzimanje datoteke s imenom uzorak.txt iz izvora prilikom sinkronizacije src_dir i dest_dir, naredba bi bila:

$ rsync -a --exclude 'uzorak.txt 'src_dir / dest_dir /

Izuzmite određeni direktorij

Da biste izuzeli određeni direktorij (uključujući njegove poddirektorijume) iz izvora prilikom sinkronizacije direktorija izvora i odredišta, upotrijebite sljedeću sintaksu:

$ rsync -a --exclude 'ime_datoteke' src_dir / dest_dir /

Na primjer, za izuzeće direktorija s imenom sampledir prilikom sinkronizacije src_dir i dest_dir, naredba bi bila:

$ rsync -a --exclude 'sampledir' src_dir / dest_dir /

Ako želite izuzeti sadržaj direktorija, ali ne i sam direktorij, upotrijebite ime direktorija praćeno / *:

$ rsync -a --exclude 'sampledir / *' src_dir / dest_dir /

Gornja naredba samo će kopirati direktorij na odredište, ali ne i njegov sadržaj.

Izuzmite više datoteka ili direktorija

Da biste izuzeli više datoteka ili direktorija tijekom postupka sinkronizacije, navedite svaku od njih kako slijedi:

$ rsync -a --exclude 'file_name' --exclude 'directory1 --exclude' directory2 'src_dir / dest_dir /

Umjesto da precizira -isključiti opcija zasebno za svaku datoteku ili direktorij, možete koristiti jednu -isključiti opcija navođenjem svih datoteka ili direktorija u kovrčavim zagradama.

$ rsync -a --exclude = 'ime_datoteke', 'direktorij1', 'direktorij2' src_dir / dest_dir /

Druga mogućnost za izuzeće više datoteka ili direktorija je njihovo popisivanje u datoteci, a zatim prosljeđivanje naziva datoteke datoteci -isključiti-iz opcija:

$ rsync -a --exclude-from 'list' src_dir / dest_dir /

Ovdje "popis" sadrži naziv datoteke i direktorija koje želimo izuzeti. Ova se naredba sinkronizira src_dir s dest_dir, isključujući datoteke i direktorije spomenute u datoteci “list”.

Izuzmite datoteke ili direktorije koji odgovaraju uzorku

Pomoću rsync također možete izuzeti datoteke ili direktorije koji odgovaraju određenom uzorku. Na primjer, tijekom sinkronizacije direktorija, možda ćete htjeti izuzeti sve datoteke koje završavaju s .txt produženje. U ovom slučaju naredba bi bila:

$ rsync -a --exclude '*.txt 'src_dir / dest_dir /

Izuzmite datoteku po veličini

Pomoću rsync možete izuzeti datoteke na temelju njihove minimalne ili maksimalne veličine. Ovdje nećemo koristiti opciju -exclude, već -max-size = ili -min-size == opcije temeljene na maksimalnoj, odnosno minimalnoj veličini.

Evo popisa naših src_dir koja prikazuje nazive datoteka zajedno s njihovim veličinama u MB.

Recimo da želimo sinkronizirati sve datoteke u dest_dir osim onih čija je veličina veća od 100 MB. U ovom slučaju naredba bi bila:

$ rsync -av --max-size = 100m src_dir / dest_dir /

Slično tome, za izuzeće datoteka koje su manje od određene veličine, recimo 50 MB, naredba bi bila:

$ rsync -av --min-size = 50m src_dir / dest_dir /

Zaključak

To je sve! U ovom smo postu raspravljali o različitim primjerima za izuzeće datoteke ili direktorija u rsync-u. Pokazali smo kako izuzeti jednu datoteku ili direktorij, više datoteka i direktorija, datoteke koje odgovaraju određenom uzorku i datoteke na temelju njihovih minimalnih / maksimalnih veličina.

Bitka za Wesnoth 1.13.6 Razvoj objavljen
Bitka za Wesnoth 1.13.6 objavljeno prošlog mjeseca, šesto je razvojno izdanje u izdanju 1.13.x series i donosi niz poboljšanja, ponajviše korisničkog ...
Kako instalirati League Of Legends na Ubuntu 14.04
Ako ste ljubitelj League of Legends, ovo je prilika za vas da testirate League of Legends. Imajte na umu da je LOL podržan na PlayOnLinux ako ste kori...
Instalirajte najnoviju strategiju igre OpenRA na Ubuntu Linux
OpenRA je Libre / Free Real Time strateški pokretač igre koji stvara rane Westwoodove igre poput klasične Command & Conquer: Red Alert. Distribuirani ...