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

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

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

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

Responder1

usar alcatrão(1)

Sim, o programa de arquivo tar é uma boa maneira de verificar um diretório Linux.

Uma vantagem de fazer isso dessa maneira é que 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 semelhante 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

informação relacionada