Como faço para replicar a estrutura de diretórios para um servidor Linux remoto?

2

Eu quero replicar uma estrutura de diretório complexa de um servidor Linux para outro servidor remoto em um determinado subdiretório.

Eu não quero o conteúdo dos arquivos, apenas quero preservar a estrutura, o proprietário e as permissões, pois o servidor a ser clonado contém um grande volume de dados que não devem ser copiados para a nova máquina.

Eu estou supondo que isso poderia ser feito de alguma forma, aumentando a estrutura de pastas e desmarcando-a na máquina remota. Ou usando o rsync para copiar sem enviar os dados. Ou possivelmente usando o find para criar um script de shell.

Se alguém tiver o one-liner na mão que faz isso, eu agradeceria.

    
por Stuart Woodward 11.12.2009 / 09:01

2 respostas

1

Você pode combinar find e cpio para fazer uma lista de subdiretórios a partir do diretório de trabalho atual:

find . -type d -print | cpio -oO dirs.cpio

Para recriar essa hierarquia de diretórios na máquina remota, copie o arquivo dirs.cpio para o local desejado e execute:

cpio -iI dirs.cpio
    
por 11.12.2009 / 09:33
1

uma solução pode ser

find . -type d > dirs

para localizar os diretórios e, em seguida, usar esse arquivo com a opção -T de tar :

tar cpzT dirs -f dest_file.tar.gz

que deve criar um arquivo compactado ( z ) preservando as permissões ( p ) arquivando apenas os arquivos listados ( T dirs ). Transferir arquivo, descompactar com

tar xpzf dest_file.tar.gz

e você deve ser feito.

    
por 11.12.2009 / 09:19