Quando uso a opção -a, conforme solicitado e respondido em Preservar as permissões com o rsync , recebi muitos erros "rsync: falha ao definir permissões".
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 ...
Por que é isso? Os arquivos são arquivos normais com permissão 0664.
permissions
rsync
prosseek
fonte
fonte
Respostas:
Provavelmente, o rsync no destino não está sendo executado como um usuário com permissão para
chmod
esses arquivos (que teriam que ser o proprietário ou raiz do arquivo).fonte
Este erro ocorre porque a operação para alterar as permissões não é permitida. Portanto, verifique se o usuário que está executando os comandos tem as permissões corretas (por exemplo, ele não é o proprietário) ou se o seu sistema de arquivos não suporta.
Você pode ignorar os avisos especificando os argumentos adicionais para rsync
--no-perms
e-O
(--omit-dir-times
) para evitar tentar definir permissões e tempos de modificação em arquivos / diretórios. Isso deve resolver os erros. Como alternativa, evite usar-a
.fonte
Como já foi dito, o problema ocorre sempre que você não tem permissão para alterar as permissões de arquivo no destino de
rsync
. No entanto, você pode evitar essa mensagem de erro usando os dois argumentos adicionais--no-o
e--no-g
.Exemplo:
fonte
--no-owner
e--no-group
não controla permissões. Você gostaria--no-perms
disso. Se você quiser evitar tentar mudar de propriedade, provavelmente precisará das três bandeiras.fundo
Normalmente,
rsync
você verá avisos se:rsync
servidor na outra extremidade não possui permissões para executar uma ação associada ao seguinte:Esses problemas se manifestam através do
proprietário grupo permissõesrsync
cliente que está tentando se comunicar com orsync
servidor, aparecendo como mensagens como esta ao tentar copiar arquivos / diretórios para um destinatário:Nos casos em que o lado receptor não pode executar essas operações, você pode instruir
rsync
para simplesmente ignorar a tentativa de realizá-las, percebendo que o destino não será estritamente idêntico aos metadados do remetente em torno dos arquivos. Isso ainda criará cópias idênticas das partes binárias dos arquivos e diretórios.Para dizer
página de manual rsyncrsync
para não se preocupar com os metadados, você pode usar o--no-OPTION
para desativar qualquer uma dessas opções implícitas.Portanto, no nosso caso, queremos usar algo assim para desativar as coisas:
Exemplo
Alternativo
Outra razão pela qual isso está acontecendo é por causa do uso do
-a
comutador.-a
inclui uma família de switches:Em vez de usar,
Estas são as opções individuais incluídas no-a
você pode usar os switches individuais e deixar de usar os--no-OPTION
.-a
Fazendo as coisas dessa maneira, o exemplo acima se tornaria isso:
fonte