Comment copier un dossier en conservant les propriétaires et les autorisations intacts?

25

J'allais donc sauvegarder mon dossier personnel en le copiant sur un disque externe comme suit:

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

Avec pour résultat que tous les dossiers sur les disques externes appartiennent désormais à root:root. Comment puis-je cpconserver la propriété et les autorisations de l'original?

Psachnodaimonia
la source

Réponses:

27

Utilisez le -pdrapeau.

-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

Notez que pour que les autorisations soient correctement répliquées, le système de fichiers de destination doit être le même que le système de fichiers source. En d'autres termes, votre disque externe doit être formaté comme ext4si, comme c'est généralement le cas, votre dossier de départ était stocké sur une partition de ce type.

SirCharlo
la source
7

Utilisez sudo cp -a /home/my_home /media/backup/my_home, il récursif en sous-répertoires et conservera tous les attributs de fichier.

Eric Carvalho
la source
5

Vous pouvez utiliser l'indicateur -p:
cp -rp /home/my_home /media/backup/my_home
ou utiliser la ligne de commande rsync:
rsync -aux /home/my_home /media/backup/my_home

SWdream
la source