Execute o rsync enquanto segue os links sym

67

Eu tenho um diretório que contém links simbólicos para outros diretórios localizados em diferentes mídias no meu sistema:

/opt/lun1/2011
/opt/lun1/2010
/opt/lun2/2009
/opt/lun2/2008
/opt/lun3/2007

Mas os links simbólicos aparecem como:

/files/2011
/files/2010
/files/2009
/files/2008
/files/2007

Como posso executar um rsyncque segue os links simbólicos?

por exemplo:

rsync -XXX /files/ user@server:/files/

prender
fonte

Respostas:

98

O -Lsinalizador para rsync sincronizará o conteúdo dos arquivos ou diretórios vinculados, em vez do link simbólico.

Chapeleiro Louco
fonte
11
Quando faço isso, todos os links simbólicos do receptor são excluídos e meu remetente começa a reenviar os arquivos.
ensnare
Não é isso que você quer? Eu pensei que você queria ter os arquivos reais no lado de recebimento, não apenas os links simbólicos. Você quer dizer que os links simbólicos são copiados como links simbólicos, mas reescritos automaticamente para apontar para o local "certo" no sistema receptor? Nesse caso, não é isso que normalmente significa "um rsync que segue os links simbólicos".
21411 MadHatter
4
Oi - estes são diretórios. Eu fiz isso funcionar com a bandeira -K.
enredar
4
Tenho certeza SO está me fazendo mais estúpida ..
John Hunt
4
Para esclarecer, -LKse você quiser seguir os dois arquivos simbolicamente e diretórios
Mahn
17

Acabei de encontrar este problema. E se você deseja que o rsync trate diretórios com links simbólicos como diretórios, você deseja a Kopção

rsync -K /files/ user@server:/files/

Jmeyering
fonte
Você também pode querer adicionar a opção --copy-unsafe-links
Gregory Magarshak 2/16/16
2

Você precisa de ambos -L e -Kse possui links simbólicos nos dois lados, por exemplo, você já fez seu 1º rsync e deseja atualizar o backup usando o rsync.

    -L, --copy-links            transform symlink into referent file/dir
    -K, --keep-dirlinks         treat symlinked dir on receiver as dir

Nesses casos, se você usar apenas -L, os links simbólicos no lado do receptor serão apagados e um novo diretório real será criado.

HongboZhu
fonte