Não é possível excluir nomes de diretório com cw-rsync

3

Estou usando o cw-rsync no Windows 7 para copiar arquivos da minha máquina local todos os dias para um servidor rsync em execução em uma caixa do Linux. Ele funciona bem, além do fato de que não consigo excluir nomes de diretórios corretamente. No momento, no meu arquivo de exclusão, tenho:

My Documents/
My Downloads/

Isso funciona, mas também tem o efeito de excluir também qualquer diretório chamado apenas "Meu" ou "Documentos" ou "Downloads"

Eu tentei usar aspas ao redor dos nomes, mas isso não ajuda. Alguma idéia?

    
por Gilgongo 28.05.2011 / 16:29

1 resposta

0

Na verdade, eu tentei isso com o mais recente cygwin rsync e você está certo. Usando arquivos de exclusão, não é possível excluir uma pasta com espaços em seu nome. No entanto, ele trabalha para excluir seu conteúdo enquanto a pasta em si ainda está sincronizada.

Eu usei o seguinte para testar:

My\ Documents/*

Observe o \ para escapar do espaço. No entanto, a pasta My Documents" ainda é criada no lado do destino, mas permanece vazia mesmo se houver algum conteúdo no lado da fonte.

Descobri que (pelo menos para o Cygwin rsync) o parâmetro --exclude= funciona corretamente mesmo com espaços:

rsync [...] --exclude='My Documents'

Apenas exclui a pasta completa.

Parece que você provavelmente encontrou um bug na análise de rsync em arquivos de exclusão. Mas, usando o parâmetro --exclude= , você pode contornar esse problema - no pior caso, gravar seu próprio wrapper lendo seu arquivo de exclusão e atribuindo um parâmetro de exclusão para cada linha.

    
por 28.05.2011 / 17:19

Tags