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

41

Estou tentando usar o rync localmente (em um computador com Windows) em um servidor remoto (minha caixa osx) para testar um script de compilação de implantação remota. Eu fiz rsync antes muito bem entre 2 servidores linux, mas estou tendo problemas agora. 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 remoto app1 está vazio, enquanto o diretório local de exportação tem 4 sub-diretórios e, em seguida, um monte de arquivos em cada um deles

    
por chrisan 24.02.2012 / 20:59

2 respostas

58
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 -r ou -a .

remote app1 directory is empty while local export directory has 4 sub directories and then a bunch of files in each of those

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, você não fará nada útil.

Talvez você precise de algo assim em vez disso?

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

Além disso:

  • Você deve quase sempre incluir uma barra à direita em diretórios com o rsync.
  • Quase todas as versões do rsync lançadas nos últimos 5-10 anos usam o ssh como transporte remoto. Você provavelmente não precisa especificar o -e ssh .
por 24.02.2012 / 21:15
2

Tentando habilitar a capacidade integrada do rsync de produzir 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 opção -v extra, por exemplo, -avvz , de acordo com a página do manual, 'Duas opções -v darão informações sobre quais arquivos estão sendo ignorados e um pouco mais informações no final'.

Se essa informação retornada não ajudar a identificar o problema, edite sua pergunta e adicione a saída adicional.

    
por 24.02.2012 / 21:06