Как скопировать папку, в которой хранятся владельцы и разрешения?

18

Итак, я собирался создать резервную копию моей домашней папки, скопировав ее на внешний диск следующим образом:

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

В результате все папки на внешних дисках теперь принадлежат root:root . Как я могу cp сохранить права собственности и разрешения от оригинала?

    
задан Psachnodaimonia 20.07.2012 в 17:34
источник

3 ответа

18

Используйте флаг -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

Обратите внимание, что для правильной репликации разрешений целевая файловая система должна быть такой же, как исходная файловая система. Другими словами, ваш внешний диск должен быть отформатирован как ext4 , если, как это обычно бывает, ваша домашняя папка хранится в разделе этого типа.

    
ответ дан SirCharlo 20.07.2012 в 17:41
источник
5

Вы можете использовать флаг -p:
cp -rp /home/my_home /media/backup/my_home
или используйте командную строку rsync:
rsync -aux /home/my_home /media/backup/my_home

    
ответ дан SWdream 12.01.2015 в 03:20
4

Используйте sudo cp -a /home/my_home /media/backup/my_home , он рекурсирует в поддиры и сохранит все атрибуты файла.

    
ответ дан Eric Carvalho 20.07.2012 в 17:49