rsync patterns - jak zalohovat jen vybranme adresare? - SOLVED
OldFrog
oldfrog na volny.cz
Sobota Prosinec 17 19:21:45 CET 2005
> Jak zalohovat v danem rsync modulu jen vybrane
> adresare a ostatni vynechat?
Resenim je pridat postupne cestu az do te urovne,
na ktere si budeme chtit jednotlive polozky
vybirat a teprve pak je pridat, nakonec pausalne
odebrat vse. Zalezi tedy na poradi cili na tom,
ktera cast hiearchie je v okamzik vyberu dostupna.
Priklad:
rsync \
-a \
--verbose \
--progress \
--stats \
--filter='+ /aa/' \
--filter='+ /aa/a**' \
--filter='+ /aa/b**' \
--filter='+ /bb/' \
--filter='+ /bb/**' \
--filter='- /**' \
src/ trg/;
Zahrne do vyberu adresar /aa/ a polozky uvnitr /aa/ zacinajici
znakem 'a' bez ohledu na to, zda to je adresar ci soubor. Dale
zahrne cely adresar /bb/ vcetne uplneho obsahu.
Pokud bychom chteli zahrnout v adresari /aa/ pouze _adresare_
zacinajici znakem 'a', postupovali bychom takto:
--filter='+ /aa/' \
--filter='+ /aa/*/' \
--filter='+ /aa/a/**' \
--filter='+ /aa/b/**' \
--filter='- /**' \
V tom pripade by se sice pridal i adresar /aa/c/ ale nikoli
uz jeho obsah. Soubor /aa/ahoj by se - narozdil od prvniho
pripadu - nezahrnul.
Nafunguje vyber pomoci
--filter='+ /aa/**' \
--filter='- /**' \
protoze cesta /aa/ neni dostupna, neprovede se tedy
zadny pozitivni vyber. Posledni pravidlo se uplatni
na tu cast cesty, ktera nebyla matchnuta drive, tedy se
v danem pripade odebere uplne vse. Vysledkem je nulovy
vyber, neprida se ani adresar /aa/ .
Misto opakovaneho --filter= lze take pouzit
--filter='. /path/to/rsync-pattern.txt'
Vse je celkem podrobne vysvetleno v man strance, ale
chvili trva, nez to cloveku dojde, jak vidite.
Priklady jsem testoval na rsync version 2.6.6.
Poslusny rsync preje
OldFrog.
--
------------------------------
Ondrej Nemecek alias 'OldFrog'
------------------------------
Další informace o konferenci Linux