Por que o rsync está pulando o diretório principal?

47

Estou tentando usar o rync localmente (em uma máquina Windows) em um servidor remoto (minha caixa osx) para testar um script de construção de implantação remota. Eu fiz o rsync antes entre dois servidores linux, mas agora estou tendo problemas. Aqui está a saída:

$ rsync -v -e ssh [email protected]:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

ou

$ rsync -avz -e ssh [email protected]:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

O diretório app1 remoto está vazio, enquanto o diretório de exportação local possui 4 subdiretórios e, em seguida, vários arquivos em cada um deles.

chrisan
fonte

Respostas:

64
rsync -v -e ssh [email protected]:/Library/WebServer/sites/staging/app1/ ./export

Você não deu nenhuma opção para colocá-lo no modo recursivo como -rou -a.

O diretório app1 remoto está vazio, enquanto o diretório de exportação local possui 4 subdiretórios e, em seguida, vários arquivos em cada um deles.

Você tem as opções para trás aqui? O comando deve ser rsync [source] [DESTINATION]. Se o diretório app1 estiver vazio e você estiver tentando copiar um diretório vazio, não fará nada de útil.

Talvez você precise de algo assim em seu lugar?

rsync -avz ./export/  [email protected]:/Library/WebServer/sites/staging/app1/ 

Além disso:

  • Você quase sempre deve incluir uma barra nos diretórios com rsync.
  • Quase todas as versões do rsync lançadas nos últimos 5 a 10 anos usam o ssh como transporte remoto. Você provavelmente não precisa especificar o -e ssh.
Zoredache
fonte
2
Uau .. isso é muito embaraçoso. Sim eu misturei fonte e dest ...
chrisan
11
+1 em "Você quase sempre deve incluir uma barra nos diretórios com rsync".
Morsa, o gato
No Mac parece use a opção -r, mas no linux Eu sempre uso -R ( "capital R")
Adam F
@Zoredache Por que quase?
Nikhil
3

Tentando ativar a capacidade integrada do rsync de gerar um arquivo de log, adicionando a seguinte opção ao seu comando.

--log-file=/path/to/log.file

Você também pode aumentar a verbosidade adicionando uma -vopção extra , por exemplo -avvz, de acordo com a página do manual, 'Duas opções -v fornecerão informações sobre quais arquivos estão sendo ignorados e um pouco mais de informações no final'.

Se essas informações retornadas não ajudarem a identificar o problema, edite sua pergunta e adicione a saída adicional.

Bryan
fonte