Korzystam z rsync do synchronizacji plików na wielu komputerach, używając następujących opcji:
rsync -az -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
--delete --delete-excluded --force --exclude=.git --exclude=.bundle \
--exclude=tmp --exclude=log/* --exclude=*.log --exclude=*.pid \
user@host:/path/to/src/ /var/build/dest
Chcę wykluczyć przeniesienie wszystkich plików dziennika ze źródła do miejsca docelowego i usunąć wszystkie istniejące w miejscu docelowym. Więc używam --exclude=*.log
z --delete-excluded
którym działa świetnie.
Ale chcę zachować nietknięty plik dziennika w miejscu docelowym. Chcę --exclude-from-delete
opcję.
Czy jest to możliwe dzięki rsync?
linux
command-line
rsync
Obrabować
źródło
źródło
Odpowiedzi:
Filtr „ochrony” powinien osiągnąć dokładnie to, co chcesz:
Po prostu określ następujący filtr, zanim odpowiednie wykluczenia:
(Zwróć uwagę na spację po literze P.)
źródło