Se você sabe que other-host:/Other/Directory
já existe, tente:
rsync -Cav --delete --exclude=.* /Some/Directory/* other-host:/Other/Directory/
então ele não deve tentar fazer nada com o diretório raiz além de criar arquivos / dirs nele.
Eu estou copiando alguns arquivos (todos, exceto os ocultos) usando o rsync de um lugar para outro usando este comando:
rsync -Cav --delete --exclude=.* /Some/Directory/ other-host:/Other/Directory
Funciona bem, exceto que recebo os seguintes erros:
rsync: chgrp "/Other/Directory/." failed: Operation not permitted (1)
rsync: failed to set times on "/Other/Directory/.": Permission denied (13)
Isso é compreensível porque, na verdade, não tenho essas permissões e também não quero alterar o grupo desse diretório. Eu só quero fazer isso para todos os arquivos e diretórios que estão em esse diretório. Existe alguma maneira de resolver isto? Tentei --exclude=.
e --exclude=./
, mas eles não funcionaram.
Alguma ideia? Eu não tenho ideia de como consertar isso ...
Mais detalhes : está no Mac OS X e os diretórios que estou sincronizando são de um volume montado localmente para o diretório /Users/Shared/
no outro host. Esse diretório tem o usuário root e o grupo wheel . Os arquivos dentro dele têm o usuário admin e o grupo staff e o mesmo acontece com o diretório de fontes locais.
Solução Temporar : Ainda estou curioso para saber como posso resolver isso, mas como ainda não sei como fazer isso, "resolvi" isso usando um diretório diferente de /Users/Shared
para aqueles arquivos.
Se você sabe que other-host:/Other/Directory
já existe, tente:
rsync -Cav --delete --exclude=.* /Some/Directory/* other-host:/Other/Directory/
então ele não deve tentar fazer nada com o diretório raiz além de criar arquivos / dirs nele.