No Linux, como copio arquivos de um sistema de arquivos para outro (ambos gpfs) e preservo os links físicos?

2

Eu tenho um diretório com arquivos enormes e vários diretórios, que possuem hardlinks nesses arquivos enormes. Como faço para copiar arquivos de um sistema de arquivos para outro e preservar links físicos?

    
por Anton Daneyko 11.03.2013 / 12:45

3 respostas

2

tar preserva os links (tanto simbólicos quanto os hard). Para copiar entre sistemas de arquivos, você usaria dessa forma:

tar -cf - -C srcdir . | tar -xpf - -C destdir

Veja a página tar man para mais detalhes (é de onde esse exemplo está vindo).

    
por 11.03.2013 / 13:13
4

rsync pode preservar hard-links com a opção -H .

    
por 11.03.2013 / 12:57
1
$ cp -r --preserve=links src dst

man cp :

   --preserve[=ATTR_LIST]
          preserve  the specified attributes (default: mode,ownership,timestamps), 
          if possible additional attributes: context, links, xattr, all
    
por 11.03.2013 / 15:41