Kiedy korzystam z opcji -a zgodnie z pytaniem i odpowiedzią w sekcji Zachowaj uprawnienia za pomocą rsync , otrzymałem wiele błędów „rsync: nie ustawiłem uprawnień do”.
rsync: failed to set permissions on "/ata/text/RCS/jvlc,v": Operation not permitted (1)
rsync: failed to set permissions on "/ata/text/RCS/jvm,v": Operation not permitted (1)
rsync: failed to set permissions on ...
Dlaczego to? Pliki są normalnymi plikami z uprawnieniami 0664.
permissions
rsync
prosseek
źródło
źródło
Odpowiedzi:
Najprawdopodobniej rsync na docelowym końcu nie działa jako użytkownik z uprawnieniami do
chmod
tych plików (które musiałby być albo właścicielem pliku, albo rootem).źródło
Ten błąd występuje, ponieważ operacja zmiany uprawnień jest niedozwolona. Sprawdź więc, czy użytkownik wykonujący polecenia ma odpowiednie uprawnienia (np. Nie jest właścicielem), czy system plików go nie obsługuje.
Możesz zignorować ostrzeżenia, podając dodatkowe argumenty rsync do
--no-perms
i-O
(--omit-dir-times
), aby uniknąć próby ustawienia uprawnień i czasów modyfikacji plików / katalogów. To powinno rozwiązać błędy. Alternatywnie unikaj używania-a
.źródło
Jak już powiedziano, problem występuje, gdy nie masz uprawnień do zmiany uprawnień do plików w miejscu docelowym
rsync
. Można jednak uniknąć tego komunikatu o błędzie, używając dwóch dodatkowych argumentów--no-o
i--no-g
.Przykład:
źródło
--no-owner
i--no-group
nie kontroluj uprawnień. Ty byś tego chciał--no-perms
. Jeśli chcesz uniknąć próby zmiany właściciela, prawdopodobnie potrzebujesz wszystkich trzech flag.tło
Zazwyczaj
rsync
wyświetla się ostrzeżenia, jeśli:rsync
serwer na drugim końcu nie posiada uprawnienia do wykonywania działania związanego z poniższych sytuacji:Problemy te pojawią się w
właściciel Grupa uprawnieniarsync
kliencie, który próbuje komunikować się zrsync
serwerem i wyświetla się jako taki komunikat podczas próby skopiowania plików / katalogów do odbiornika:W przypadkach, gdy strona odbierająca nie może wykonać tych operacji, możesz
rsync
po prostu pominąć próbę ich wykonania, wiedząc, że miejsce docelowe nie będzie ściśle identyczne z metadanymi nadawcy wokół plików. Nadal będą tworzone identyczne kopie binarnych części plików i katalogów.Aby
strona podręcznika rsyncrsync
nie martwić się o metadane, możesz użyć przycisku,--no-OPTION
aby wyłączyć dowolną z tych domyślnych opcji.W naszym przypadku chcemy użyć czegoś takiego do wyłączenia rzeczy:
Przykład
Alternatywny
Innym powodem takiego stanu rzeczy jest użycie
-a
przełącznika.-a
obejmuje rodzinę przełączników:Zamiast używać
Są to poszczególne opcje zawarte w-a
możesz użyć poszczególnych przełączników i zrezygnować z korzystania z nich--no-OPTION
.-a
Robiąc rzeczy w ten sposób powyższy przykład stałby się zamiast tego:
źródło