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/

Respostas:


98

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


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/


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.