Podczas tworzenia kopii zapasowej moich plików serwera Postfix i Courier otrzymuję mnóstwo ostrzeżeń, takich jak:
file has vanished: /var/kunden/mail/username/[email protected]/tmp/courier.lock
Jak wyłączyć te ostrzeżenia rsync
, uruchamiając je z Crona /usr/bin/rsnapshot hourly
?
Czy mogę w jakiś sposób wykluczyć te katalogi?
/var/kunden/mail/*/*/tmp/
tmp
folder może być głębsze, a także, na przykład:
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/[email protected]/.Presse/tmp/courier.lock
rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/
?/tmp/
w nich katalogi, gdy je napisałem. Jeśli chcesz być bardziej jednoznaczny niż tak, możesz określić to tak, jak napisałeś.--exclude='/tmp/'
wyklucza tylko katalog wywoływanytmp
w katalogu głównym kopii. Aby wykluczyć wszystkie podkatalogi wywoływanetmp
gdziekolwiek, użyj--exclude='**/tmp/'
.Niestety, w przeciwieństwie do tego, co opisano w rozwiązaniu SWdream,
--ignore-missing-args
nie ma wpływu na zniknięte pliki. Po prostu zignoruje argumenty źródłowe, które nie istnieją.Zobacz
man rsync
:„Oficjalnym” sposobem ignorowania znikniętego pliku jest użycie tego skryptu z oficjalnego repozytorium źródłowego rsync: https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no- zniknął; hb = HEAD
co jest bardzo podobne do tego, co powiedzieli @kenorb i @ gilles-quenot.
źródło
Powodem jest to, że pliki te istniały, gdy rsync tworzy listę plików do przesłania, ale są one usuwane przed przesłaniem.
To masaż ostrzegawczy, a nie błąd. Jednak powinieneś spróbować dowiedzieć się, dlaczego te pliki zostały usunięte, być może jest to ważne.
Aby zignorować to ostrzeżenie, możesz użyć opcji --exclude, jak podano powyżej, lub
-ignore-missing-args
opcji rsync, powoduje to, że rsync ignoruje zniknięte pliki:--ignore-missing-args ignore missing source args without error
może to pomóc.źródło
Błąd oznacza, że
rsync
nie można już znaleźć plików, które istniały podczas tworzenia listy do przesłania. Te błędy zniknięcia pliku występują, gdy plik początkowo został znaleziony, a później go już nie ma. W niektórych przypadkach dzieje się tak również wtedy, gdy pliki źródłowe są uszkodzone lub mają nieprawidłowe znaki w nazwie (takfsck
zaleca się).Zasadniczo jest to ostrzeżenie, a nie błąd, więc nie ma się czym martwić, ponieważ stan każdego pliku docelowego odzwierciedla stan, w którym odpowiednie pliki źródłowe podczas uruchamiania.
Jeśli powoduje problem, ponieważ wartość wyjścia jest różna od zera, można to rozwiązać za pomocą następującego skryptu opakowania ( źródła ):
lub za pomocą następującego skryptu obejścia ( źródło ):
który w zasadzie istnieje z tymi samymi kodami błędów co rsync, jeśli rsync zawiedzie.
Jest to dalej omówione w: Bug 3653 - Zmniejsz potrzebę ostrzeżenia o „znikniętych plikach”
źródło
Lub po prostu (z nowoczesnym bash ):
źródło
vanished
?Moja odpowiedź może być szczególnym przypadkiem użycia, ale uważam, że warto to zauważyć, aby ludzie nie stracili danych, jeśli są objęci tą sprawą.
Otrzymywałem ten komunikat dla kilku plików podczas rutynowego tworzenia kopii zapasowych dysków za pomocą rsync.
Przeprowadziłem kontrolę systemu na dysku i okazało się, że występują problemy z dyskiem (alokacja / uszkodzenie pliku itp.) I zaleciłem wykonanie kopii zapasowej + przywracanie + formatowanie.
Więc zanim wyjdziesz z ukrycia lub całkowicie zignorujesz wiadomość, rozsądnie może być po prostu przeprowadzenie kontroli stanu dysku, aby być bezpiecznym.
źródło
tmp
katalogach.Spróbuj zamontować dysk kopii zapasowej z
nosuid,nodev,nofail,x-gvfs-show
opcjami.Nie jestem pewien, jakiego systemu używasz, ale uważam, że jest to związane z opcjami montowania dysku. W systemie Linux dzieje się tak, jeśli ustawię opcje montowania na
User Session Default
. Rozwiązuje się, gdy go wyłączam, a rsync kończy bez żadnych błędów.źródło
Użyj tego parametru:
umieścić listę w pliku. W pliku exclude.ini napisz coś takiego:
Gdzie:
Pamiętaj, że jeśli w systemie plików rozróżniana jest wielkość liter, być może będziesz musiał to uwzględnić.
źródło