Błąd usuwania polecenia rsync „Napotkano błąd we / wy - pomijanie usunięcia pliku”

16

Korzystam z polecenia rsync, aby przenieść kopię zapasową plików z jednego serwera Ubuntu na inny komputer Ubuntu. Serwer zapasowy wyzwala skrypt korzystający z polecenia rysnc. Oto polecenie, którego używam

rsync -rltvh --partial --stats --exclude = .beagle / --exclude =. * --delete-after root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> I 1

live_server jest w stanie ssh bez hasła. Więc to działa. Teraz jest problem z

- opcja usuwania po

Po zsynchronizowaniu wszystkich plików. Na końcu widzę pominiętą procedurę usuwania. Błąd pliku dziennika jest podobny

Napotkano błąd We / Wy - pomijanie usunięcia pliku

Podczas próby znalezienia dziennika wystąpił błąd podczas synchronizacji pliku

rsync: nie można otworzyć plików send_files „/home/xyz/Desktop/PPT_session_1_context.pdf”: Odmowa uprawnień (13)

Rozumiem więc, że rsync nie mógł odczytać wszystkich plików z celu ze względów bezpieczeństwa, dlatego pomija usuwanie plików.

Czy jest jakiś sposób, aby --delete-after work, nawet jeśli wystąpił błąd uprawnień? Nie chcę używać wymuszonego usuwania, ponieważ w niektórych sytuacjach będzie to niebezpieczne.

XemX
źródło
1
Jeszcze raz Pssst ... Naprawdę powinieneś.
Armel Larcier

Odpowiedzi:

13

Dodatkowa uwaga na ten temat:

vanished filenie powinien wyzwalać warunku IO error encountered -- skipping file deletion, ale często dzieje się tak podczas tworzenia kopii zapasowej systemu na żywo.

Jest to objęte błędem rsync # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ) i powinno zostać rozwiązane w nadchodzącej wersji 3.1.0.

W międzyczasie użyj:

--ignore-errors         delete even if there are I/O errors
reto
źródło
19

Ze strony man rsync:

--ignore-errors         delete even if there are I/O errors

To rozwiąże twój problem.

SickAnimations
źródło
2

Należy użyć pliku wykluczenia, aby rsynczignorować pliki, których nie można odczytać. Listę można wygenerować find . -exec test -r '{}'w katalogu źródłowym, a następnie wmasować w żądany format pliku wykluczenia rsync.

Kyle Jones
źródło
w rzeczywistości mój katalog źródłowy jest dość duży (10-12 GB). Dlatego za każdym razem wyszukiwanie plików (bez uprawnień do odczytu) nie będzie efektywnym sposobem. co ty mówisz?
XemX,
Uruchom go raz, aby zbudować listę wykluczeń i nie uruchamiaj go ponownie, chyba że dodana zostanie cała masa nowych nieczytelnych plików. rsync robi to samo drzewo, więc i tak nie powinno być tak źle.
Kyle Jones,
Tak. Ale taki jest mój scenariusz. Codzienny katalog źródłowy może zawierać takie pliki. i muszę wykonać kopię zapasową nowych plików na maszynie do tworzenia kopii zapasowych.
XemX,
Czy jest na to skuteczne rozwiązanie? Używam również rsync do tworzenia kopii zapasowych z systemu na żywo, a gdy na urządzeniu do odczytu występuje błąd we / wy, pliki są usuwane na komputerze docelowym, co NIE POWINIEN SIĘ ZNAKOWAĆ!
bzero,