Estou tentando rsync arquivos de um servidor para outro, mas recebendo este erro
rsync: falha ao definir horários em "/ dept / intranet / dept / atest /.": Operação não permitida (1)
Alguém pode me ajudar por que?
Eu acho que é algum problema de permissão.
Este é o meu comando:
RSYNC=/usr/bin/rsync
SSH=/usr/bin/ssh
REMOTE_HOST=test.desktop
${RSYNC} -crlt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
LOCAL_DIR = workplace1/f1/
permissions drwxr-xr-x 11 root root 4096 Mar 19 2009 f1
REMOTE_DIR=/dept/intranet/dept/atest/f1/
permissions :drwxr-xr-x 14 dbld a1 4096 Mar 19 2009 f1
Respostas:
Só assim estamos na mesma página:
Então duas coisas:
É apenas um sistema de arquivos
Se a pasta de destino for uma montagem NFS, ou algum sistema de arquivos que não lida bem com os tempos de modificação, ela será interrompida.
Tente adicionar o parâmetro
-O
(for--omit-dir-times
) ao seu comando.Os tempos de modificação serão preservados, mas omitidos para diretórios:
Este é o meu melhor palpite, pois a sincronização de arquivos parece funcionar e seu erro ocorre na sincronização de horário mod. De qualquer forma, você realmente precisa preservar os tempos de modificação ? A
-c
opção pular arquivos com base na soma de verificação (portanto, os tempos de modificação não importam).Ou é, na verdade, um problema de permissão
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
)ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
)Nenhuma das acima
Execute seu comando com a
-v
opção, para detalhado.fonte
--omit-dir-times
dica. Realmente ajuda.Adicione -O ( --omit-dir-times ) à sua linha de comando para evitar que ela tente definir horários de modificação nos diretórios.
Leia também: /programming/667992/rsync-error-failed-to-set-times-on-foo-txt-operation-not-permitted
fonte
No meu caso, resolvi o problema concedendo permissões no diretório pai em que a sincronização ocorreu.
Na verdade, o proprietário do diretório pai não era o usuário que fazia a sincronização.
fonte