rsync wyklucza ukryte pliki nie działa!

34

Szukałem w Internecie i wszyscy sugerują to samo - dodanie --exclude=´.*´powinno wykluczyć ukryte pliki i foldery z rsync. Nie ma Próbowałem również dodać ukośnik i / lub podwójne cudzysłowy, np.--exclude=¨\.*¨Wydaje się, że nic nie działa. AGH !! Byłbym wdzięczny za pomoc.

użytkownik 289455
źródło

Odpowiedzi:

63

Obie pokazywane wersje są nieprawidłowe. Musisz użyć podwójnych cudzysłowów.

--exclude=".*"

działa i wyklucza ukryte pliki i katalogi.

Jeśli chcesz wykluczyć tylko ukryte katalogi:

--exclude ".*/"

Używam go codziennie do tworzenia kopii zapasowych.

Rinzwind
źródło
Tak, działało, ale tylko wtedy, gdy wyciąłem i wkleiłem twój fragment. Z jakiegoś powodu moja klawiatura nie jest skonfigurowana do wpisywania standardowego podwójnego cudzysłowu. Zamiast tego robi to ¨
user289455
1
Używasz klawiatury z aktywnymi klawiszami martwymi. Musisz nacisnąć „, a następnie wykonać spację.”
Rinzwind,
O! To też działało! Nie wiedziałbyś, jak to wyłączyć, prawda?
user289455
tak ... przełącz klawiaturę na „angielski (us)”;)
Rinzwind,
1
@YaroslavNikitenko przepraszam. Jest tam zamieszanie. Powinien brzmieć „jeśli TYLKO chcesz wykluczyć ukryte katalogi”.
Rinzwind
2

Używam tego wyrażenia: --exclude=".[!.]*"

Wykonuje to dla mnie dobrze, wyłączając ukryte pliki i katalogi.

jonathanbell
źródło
0

--exclude="/.*"Twój \jest skierowany w niewłaściwy sposób.

rsync -a --exclude="/.*" ./ /path/to/sync
Pantera
źródło
2
Nie ma potrzeby, aby / :) nie używał „.”. Jeśli potrzebował /, powinien być na końcu, aby wykluczyć
katalogi
0

Otwórz plik tekstowy exclude_me.txti wpisz następujące polecenie:.[a-z]*

Następnie wykonaj następujące czynności:

rsync -avh --exclude-from='exclude_me.txt' /path/of/Source /path/of/Destination
Abel Tom
źródło