Como posso espelhar um diretório do Linux e fazer backup de todos os metadados?

2

Eu preciso fazer o backup da minha pasta pessoal (e algumas outras pastas) em um sistema Linux NFS organizacional onde minha conta expira em breve, em um disco rígido pessoal (que não está usando um sistema de arquivos Linux). Eu acesso a conta através de SSH e SFTP. Eu quero fazer backup de todos os metadados para esses arquivos e diretórios e tudo neles, incluindo datas, proprietários, grupos, números de UID / GID, permissões de CHMOD, etc. Como posso fazer isso? Preciso executar o comando LS recursivamente no diretório com determinadas configurações de quais informações exibir e canalizar os resultados para um arquivo para que as informações estejam em um arquivo, independentemente de qual sistema de arquivos eu o movo? Ou existe uma maneira de salvar todos os metadados usando algo como TAR / GZ? Se for com o TAR / GZ, como posso visualizar esses metadados em outros sistemas de arquivos para os quais eu movo o arquivo, e os usuários / grupos armazenados permanecerão intactos, desde que não sejam extraídos?

Além disso, você sabe como fazer isso também para metadados do SELinux e metadados do AFS (Andrew File System)? (Estes serão para outro sistema de arquivos mais tarde, mas se você não souber a resposta para qualquer um desses, por favor, responda ao acima).

    
por user553702 21.08.2011 / 00:11

1 resposta

2

use tar (1)

Sim, o programa tar archive é uma boa maneira de checar um diretório linux.

Uma vantagem de fazer isso dessa forma é, então, não importa qual seja o sistema de arquivos intermediário. Por exemplo, você pode colocar o arquivo .tgz em uma unidade flash FAT32 ou qualquer outra coisa e, desde que a extração seja feita em outro sistema similar ao Unix, todos os metadados sobreviverão.

$ tar cvfz /somewhere/else/backup.tgz . # save current directory and everything underneath
...
# later, on a Unix box...
$ mkdir my_old_dir; cd my_old_dir
$ tar xvfz /whatever/backup.tgz
    
por 21.08.2011 / 00:25