Używam serwera Ubuntu 12.04, teraz chcę wykonać kopię zapasową niektórych plików przy użyciu rsync, oto próba:
rsync -aAX $HOME/Documents/* $HOME/Backups/TEST --exclude={$HOME/Documents/another/*,$HOME/Documents/temp/*}
Jak widać, chcę wykonać kopię zapasową wszystkich plików w folderze $ HOME / Dokumenty do folderu $ HOME / Kopie zapasowe / TEST , ale wykluczyć pliki w folderze innym i temp . Ale mi się nie udało, rsync nadal kopiuje pliki w obu wykluczonych folderach:
ls $HOME/Backups/TEST/another
test
test jest plikiem w folderze innym , i jest również kopiowany, chociaż wykluczam plik w rsync, dlaczego? Jak zezwolić na faktyczne wykluczenie tych plików?
--exclude=/foo
wykluczy katalogfoo
bezpośrednio w źródle, ale--exclude=foo
wykluczy wszystkie katalogi o nazwie foo, nawet w podkatalogach.Możesz łatwiej dodawać
.rsync-filter
pliki do katalogów źródłowych i korzystać z tej-F
opcji.Ze strony podręcznika:
Na przykład: w $ HOME / Documents / .rsync-filter
Zamiast tego
-
możesz także napisać całe słowoexclude
.Teraz możesz
źródło