Copie os links de preservação da estrutura de arquivos

1

Eu tenho um diretório cheio de backups incrementais (~ 20GB) que eu preciso copiar (ou mover) de uma partição para outra. Este diretório contém instantâneos diários que foram produzidos usando cp -al para criar links simbólicos para duplicar arquivos em vez de cópias.

Eu preciso copiar essa estrutura como está, preservando os links, mas quando executo um cp -r, parece que os arquivos foram criados em vez de links (estou assumindo isso porque a cópia usa mais espaço livre em disco que o original depois que uma pequena parte dele é copiada).

Como posso copiar esse diretório para outro disco, preservando a estrutura de links? E como posso saber que é copiado como links? (parece difícil verificar como du incide o tamanho do arquivo independentemente)

    
por andrewmabbott 02.05.2014 / 11:10

2 respostas

1

Use rsync . A partir da sua página de mana:

          rsync -avz foo:src/bar /data/tmp

   This  would  recursively transfer all files from the directory src/bar on the machine foo into the /data/tmp/bar directory on the local machine. The files are transferred in "archive" mode, which ensures that sym‐
   bolic links, devices, attributes, permissions, ownerships, etc. are preserved in the transfer.  Additionally, compression will be used to reduce the size of data portions of the transfer.

Para o que vale, du pode seguir links simbólicos ou não:

   -L, --dereference
          dereference all symbolic links

   -P, --no-dereference
          don't follow any symbolic links (this is the default)
    
por 02.05.2014 / 11:18
2
O

alcatrão pode ser útil, por exemplo

tar cf - . | (cd /otherdirectory; tar xvf -)
    
por 03.05.2014 / 23:14

Tags