Como copio uma pasta mantendo os proprietários e as permissões intactos?

20

Então, eu faria o backup da minha pasta pessoal copiando-a para uma unidade externa da seguinte forma:

sudo cp -r /home/my_home /media/backup/my_home

Com o resultado, todas as pastas nas unidades externas pertencem agora a root:root . Como posso ter cp mantendo a propriedade e as permissões do original?

    
por Psachnodaimonia 20.07.2012 / 17:34

3 respostas

21

Use o sinalizador -p .

-p     same as --preserve=mode,ownership,timestamps

--preserve[=ATTR_LIST]
       preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

Observe que, para que as permissões sejam corretamente replicadas, o sistema de arquivos de destino deve ser o mesmo que o sistema de arquivos de origem. Em outras palavras, sua unidade externa deve ser formatada como ext4 se, como geralmente é o caso, sua pasta pessoal estiver armazenada em uma partição desse tipo.

    
por SirCharlo 20.07.2012 / 17:41
5

Use sudo cp -a /home/my_home /media/backup/my_home , ele reciclará em subdiretórios e preservará todos os atributos de arquivo.

    
por Eric Carvalho 20.07.2012 / 17:49
5

Você pode usar o sinalizador -p:
cp -rp /home/my_home /media/backup/my_home
ou use a linha de comando do rsync:
rsync -aux /home/my_home /media/backup/my_home

    
por SWdream 12.01.2015 / 03:20