Назад | Перейти на главную страницу

Резервное копирование данных с сохранением списков управления доступом и разрешений POSIX

Я ищу практический способ резервного копирования данных с сервера и сохранения всех ACL и разрешений. Я смотрел tar, но, согласно Google, tar не хранит ACL. Я знаю, что rsync может сохранять ACL и разрешения, но только если целевая система поддерживает POSIX ACL и имеет тех же пользователей. В моем случае я делаю резервную копию в каталог, расположенный на AFS, поэтому списки ACL POSIX не поддерживаются.

На данный момент я решил проблему, написав скрипт, который использует find для рекурсии по системе (я использую find, потому что я исключаю некоторые каталоги) и сохраняет разрешения и ACL в текстовый файл. Это решение работает, но очень медленно. Есть ли лучшее решение?

apt-get install star
man star
star -acl -whatever -other -options -you -need

Star - это tar с поддержкой расширенных заголовков POSIX, то есть с возможностью хранить некоторые дополнительные данные о файле в файле tar. В -acl option получает ACL; он нужен как для создания архива, так и для извлечения.

Если вы не хотите устанавливать другую программу, вы можете сделать резервную копию списков ACL отдельно:

getfacl -R somedir > acls.txt

Это выгружает все ACL из somedir в файл acls.txt.

Для восстановления используйте:

setfacl -R --set-file=acls.txt somedir

рядом со звездой вы можете использовать bsdtar