¿Cómo copio una carpeta manteniendo intactos los propietarios y los permisos?

21

Así que iba a hacer una copia de seguridad de mi carpeta de inicio copiándola en una unidad externa de la siguiente manera:

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

Con el resultado de que todas las carpetas en las unidades externas ahora son propiedad de root:root . ¿Cómo puedo tener cp para mantener la propiedad y los permisos del original?

    
pregunta Psachnodaimonia 20.07.2012 - 15:34

3 respuestas

22

Usa el indicador -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

Tenga en cuenta que para que los permisos se repliquen correctamente, el sistema de archivos de destino debe ser el mismo que el del sistema de archivos fuente. En otras palabras, su unidad externa debe formatearse como ext4 si, como suele ser el caso, su carpeta de inicio está almacenada en una partición de ese tipo.

    
respondido por el SirCharlo 20.07.2012 - 15:41
5

Use sudo cp -a /home/my_home /media/backup/my_home , se repetirá en subdirectorios y conservará todos los atributos del archivo.

    
respondido por el Eric Carvalho 20.07.2012 - 15:49
5

Puede usar el indicador -p:
cp -rp /home/my_home /media/backup/my_home
o use la línea de comando rsync:
rsync -aux /home/my_home /media/backup/my_home

    
respondido por el SWdream 12.01.2015 - 02:20

Lea otras preguntas en las etiquetas