O que usar para fazer backup dos arquivos, preservando as ACLs?

23

Ao usar o utilitário tar para armazenar arquivos em backups, perde-se as ACLs estendidas.

Existe alguma solução comumente usada e não invasiva (como: criar um script que recrie as ACLs do zero) para preservar as ACLs?

    
por silk 12.08.2010 / 13:45

7 respostas

2

Usando o tar

Para criar:

tar --acls -cpf backup.tar some-dir-or-file

Para descompactar:

tar --acls -xpf backup.tar
    
por 12.11.2011 / 17:31
14

Na verdade, acredito que a questão não era sobre os bits de permissão de arquivos (padrão), mas as informações de ACL estendidas (consulte setfacl (1) ou acl (5)).

Até onde sei, o tar GNU não modificado ignora as informações da ACL. (A página man do GNU tar 1.15.1, fornecida com o RHEL 5.2, menciona os comutadores --acls e --no-acls, mas ainda não consegui que funcionassem.)

No entanto, o programa star é capaz de fazer backup e restaurar ACLs, se você selecionar o formato exustar :

star -c -p -acl artype=exustar -f archive.tar  files...
star -x -acl -f archive.tar

Página inicial da Star: link Star está disponível no Ubuntu, pelo menos.

    
por 04.09.2010 / 20:06
7

Estou procurando uma solução tão bem até agora:

primeiro faça um getfactl da minha pasta

getfacl -R /a_folder > folder.acl

faça um tar regular

tar -czvf folder.tar.gz /a_folder

quando eu extraí-lo

tar -xvf folder.tar.gz

faça um setfacl para as permissões.

setfacl --restore=folder.acl

isso funciona para mim.

    
por 20.02.2013 / 13:11
5
rsync with the -A and/or -X options.
    
por 09.11.2012 / 03:03
2

Se você está procurando uma solução simples e poderosa, eu recomendo rdiff-backup .

Basicamente, ele faz uma cópia de um diretório de origem para um diretório de destino, mas também salva informações adicionais para que você possa voltar no tempo quando quiser.

E, é claro, ele preserva links simbólicos, arquivos especiais, hardlinks, permissões, propriedade de uid / gid e tempos de modificação.

    
por 05.09.2010 / 07:44
2

Sugiro que você use bsdtar .

bsdtar backups estenderam a ACL por padrão , ela usa a mesma sintaxe como GNU tar e os arquivos que ela produz podem ser lidos por GNU tar .

O nome do pacote e do comando (em distribuições baseadas no Debian) é bsdtar .

bsdtar cf archive.tar /my/folder/using/extd_acl 
bsdtar xf archive.tar 

O comando 2nd (extract) restaura as ACLs.

    
por 22.04.2013 / 17:09
1

Da Página do Homem do Alcatrão.

-p, --same-permissions, --preserve-permissions
             ignore umask when extracting files (the default for root)

Na verdade, não é o ato de arquivar que altera as permissões de acesso (ACLs), mas o ato de descompactá-las. Frequentemente, o tar é usado para distribuir arquivos de um usuário para outro e, portanto, é considerado conveniente aplicar os usuários umask quando eles desempacotam.

Para preservar as permissões anteriores dos arquivos, basta adicionar um p às suas opções. Por exemplo

Alcatrão direto:

tar xvp some-file

bz.tar:

tar xvjp some-file

gz.tar:

tar xvzp some-file
    
por 12.08.2010 / 15:13