rsync “nenhum arquivo ou diretório” ao usar curinga

2

Estou tentando usar rsync para copiar o conteúdo de uma pasta para outra pasta. Este é o comando que estou usando para isso.

rsync -v -r $folder64/Pictures/* $folder65/Pictures/

E aqui está o código de erro.

building file list ... rsync: link_stat "/Volumes/HD/Users/jol/Pictures/*" failed: No such file or directory (2)
done

Eu entendo isso com muitas pastas, que contêm itens. Às vezes, por exemplo, se eu apenas criar algo na área de trabalho.

    
por DisplayName 24.11.2015 / 16:58

2 respostas

1

Para copiar uma pasta para outra usando rsync , simplesmente

rsync -a /source/folder/path/ /destination/folder/path/

No seu caso,

rsync -a "$folder64/Pictures/" "$folder65/Pictures/"

É o / à direita da fonte que é significativo.

Quando você usa $folder64/Pictures/* , é possível não copiar o conteúdo da pasta única, pois os argumentos da linha de comando se expandem em uma lista de itens na pasta de origem que corresponde ao padrão de globbing * filename isso geralmente não corresponde a arquivos ou pastas ocultos.

No seu caso específico, você recebe a mensagem de erro "Nenhum arquivo ou diretório". Isso significa que o diretório que você especificou como fonte simplesmente não existe ou está vazio. Se estiver vazio, isso fará com que * permaneça não expandido e rsync não consiga encontrar o arquivo fornecido (chamado * ) para sincronizar.

    
por 17.09.2017 / 22:31
0

Você talvez esteja usando um alias para rsync , que envolve noglob ? Algumas estruturas de configuração do shell definem isso para você (por exemplo, prezto para zsh). Eu experimentei o mesmo comportamento, você pode:

  1. anular o alias ( unalias rsync )
  2. digite o caminho completo ( /usr/bin/rsync [etc.] , provavelmente)
  3. ou use command rsync [etc.]

para contornar isso.

    
por 08.02.2017 / 11:13