Android

Kako isključiti datoteke i mape s rsync-om

KAKO STAVITI DATOTEKE U RAR/ZIP FILE (KAKO SAŽETI DATOTEKE) HD

KAKO STAVITI DATOTEKE U RAR/ZIP FILE (KAKO SAŽETI DATOTEKE) HD

Sadržaj:

Anonim

Rsync je brz i svestran uslužni program naredbenog retka koji sinkronizira datoteke i mape između dviju lokacija preko udaljene ljuske.

Pomoću Rsync-a možete zrcalo podataka, stvarati inkrementalne sigurnosne kopije i kopirati datoteke između sustava. Pri kopiranju podataka možda ćete htjeti izuzeti jednu ili više datoteka ili mapa na temelju njihovog imena ili lokacije.

U ovom će vam vodiču pokazati kako isključiti datoteke i mape s rsync-om.

Prije nego što počneš

Trebali biste imati osnovno znanje o načinu funkcioniranja rsync-a.

U donjim primjerima koristit ćemo rsync s opcijom -a . To govori rsync da sinkronizira direktorije rekurzivno, prebacuje posebne i blokiraju uređaje i čuva simboličke veze, vremena modifikacije, skupinu, vlasništvo i dozvole.

Kad isključite datoteke ili mape, morate koristiti njihove relativne putove do izvornog direktorija.

Postoje dvije mogućnosti za određivanje datoteka i mapa koje želite isključiti:

  • Iz naredbenog retka, koristeći opciju --exclude Iz datoteke koristite opciju --exclude-from .

Isključite određenu datoteku

Da biste izuzeli određenu datoteku, prođite relativni put do datoteke do --exclude opcije.

U sljedećem primjeru datoteka src_directory/file.txt neće se prenijeti:

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

Isključite određeni imenik

Izuzeće određene mape isto je kao i izuzeće datoteke, samo prođite relativni put do mape do --exclude opcije kao što je prikazano u nastavku:

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

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

Izuzmi više datoteka ili direktorija

Da biste izuzeli više datoteka ili mapa, jednostavno navedite više opcija - --exclude :

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

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

Ako je broj datoteka i / ili mapa koje želite isključiti velik, umjesto korištenja više opcija - exclude možete u datoteci odrediti datoteke i mape koje želite izuzeti i proslijediti datoteku u --exclude-from opcija.

Naredba u nastavku čini točno isto kao i gornja:

rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/ isključuje-file.txt

file1.txt dir1/* dir2

Izuzmite više datoteka ili direktorija na temelju uzorka

Pomoću rsync-a možete izuzeti datoteke i mape na temelju obrasca koji odgovara nazivu datoteke ili direktorija.

Na primjer, da izuzmete sve .jpg datoteke koje biste pokrenuli:

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

Malo je zamornije izuzeti sve ostale datoteke i mape, osim onih koje odgovaraju određenom obrascu. Recimo da želite izuzeti sve ostale datoteke i mape, osim datoteka koje završavaju s .jpg .

Jedna je mogućnost upotreba sljedeće naredbe:

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

Kada koristite više opcija uključivanja / isključenja, primjenjuje se prvo pravilo podudaranja.

  • --include='*.jpg' - Prvo uključujemo sve .jpg datoteke. --include='*/' - Tada uključujemo sve direktorije unutar direktorija src_directory . Bez ovog rsync će kopirati samo *.jpg datoteke u direktorij najviše razine. -m - uklanja prazne direktorije.

Druga opcija bi bila da se izvod naredbe find usmjeri na rsync:

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

  • -printf %P\\0\\n - uklonit će src_directory/ s putanje datoteke. --files-from=- - znači uključuju samo datoteke sa standardnog unosa (datoteke proslijeđene iz naredbe find).

Zaključak

U ovom su vodiču naučili kako isključiti datoteke i mape pri prijenosu podataka pomoću Rsync-a. Na Rsync-u možete pronaći puno više na stranici Korisničkog priručnika.

rsync terminal