Suponha que /foo/src
contenha apenas A.c
e que /foo/dest
contenha A.c
e B.c
. E suponha que eu execute o seguinte comando:
rsync /foo/src/ /foo/dest
O rsync
apagará B.c
?
Agora suponha que /foo/src
contenha o diretório A
com alguns arquivos dentro dele e que /foo/dest
contenha ambos os diretórios A
e B
, cada um com alguns arquivos dentro deles. E suponha que eu execute o seguinte comando (a opção -a inclui -r, recursiva):
rsync -a /foo/src/ /foo/dest
O rsync
irá apagar B
e seu conteúdo?
Por padrão, o rsync não exclui arquivos, mas isso depende das opções de comandos que você especifica. Você pode usar qualquer um dos seguintes, se desejar excluir arquivos:
Desde que você chamou especificamente a opção - a, aqui está o que a página man diz
- a, −−archive >
Isso é equivalente a - rlptgoD. É uma maneira rápida de dizer que você quer recursão e quer preservar quase tudo (com −H sendo uma omissão notável). A única exceção à equivalência acima é quando −− files − from é especificado, neste caso, −r não está implícito.
Observe que - a não preserva hardlinks, porque encontrar arquivos com vários links é caro. Você deve especificar separadamente - H.
Portanto, parece que a resposta para sua pergunta é NÃO, não será excluída, dado seus exemplos.
HTH