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

25

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

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

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

Psachnodaimonia
источник

Ответы:

27

Используйте -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
источник
7

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

Эрик Карвалью
источник
5

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

SWdream
источник