Что использовать для файлов резервных копий, сохраняя ACLs?

синтаксис комнаты:

rm [OPTION]... FILE...

Так, необходимо заявить соответствующий путь явно, например.

rm -r sub_dir/
24
12.08.2010, 16:25
7 ответов

Используя tar

Создать:

tar --acls -cpf backup.tar some-dir-or-file

К untar:

tar --acls -xpf backup.tar
4
27.01.2020, 19:41
  • 1
    tar: unrecognized option '--acls' не работает. –  maniat1k 20.02.2013, 14:04
  • 2
    Fedora имеет нестандартные патчи Tar GNU, которые включают --acls –  user55149 22.12.2013, 12:53
  • 3
    В Debian, tar не поддерживает --acls до jessie. (См. ошибку № 732071.) Функция также доступна в пакете от wheezy-backports. –  Alastair Irvine 27.06.2014, 08:06

На самом деле я полагаю, что вопрос не был о (стандартных) битах полномочий файла, но расширил информацию о ACL (см. setfacl (1) или acl (5)).

К моему знанию неизмененный tar GNU игнорирует информацию о ACL. (Страница справочника для tar GNU 1.15.1, как поставлено с RHEL 5.2 упоминает переключатели - acls и - нет, но я не заставил их работать.)

Однако звездообразная программа может создать резервную копию и восстановить ACLs при выборе exustar формата:

star -c -p -acl artype=exustar -f archive.tar  files...
star -x -acl -f archive.tar

Звездообразная домашняя страница: Звезда http://cdrecord.berlios.de/new/private/star.html доступна в человечности, по крайней мере.

14
27.01.2020, 19:41
  • 1
    Это похоже на то, что я ищу, я должен буду смотреть на этом. Теперь я должен купить еще несколько часов в день ;) –  silk 06.09.2010, 13:29
  • 2
    star не доступно на Debian и, кажется, не сохраняется "командой". Проект все еще жив и сохраняется после 30 + годы все же. Попробовать bsdtar если Вы хотите что-то еще. –  Totor 22.04.2013, 18:35
  • 3
    после завершения работы belios можно найти его здесь: sourceforge.net/projects/s-tar/files –  Jonas Stein 25.04.2015, 15:10

Если бы Вы ищете простое к использованию все же мощное решение, я рекомендовал бы rdiff-backup.

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

И, конечно, это сохраняет символьные ссылки, специальные файлы, hardlinks, полномочия, uid/gid владение и время изменения.

2
27.01.2020, 19:41

Из Страницы справочника tar.

- p, - те-же-полномочия, - сохранять-полномочия
         проигнорируйте umask при извлечении файлов (значение по умолчанию для корня)

Это не на самом деле действие архивации, которая изменяет права доступа (ACLs), но действие распаковки их. Tar очень часто используется для распределения файлов от одного пользователя другому, и таким образом, о нем думают удобный для применения пользователей umask, когда они распаковывают.

Сохранить файлы предыдущие полномочия, просто реклама p для к Вашим опциям. Например,

Прямой tar:

tar xvp some-file

bz.tar:

tar xvjp some-file

gz.tar:

tar xvzp some-file
1
27.01.2020, 19:41
  • 1
    это не работает. –  maniat1k 20.02.2013, 13:58
  • 2
    Кроме того, tar автоматически выясняет, что извлечь. Нет никакой потребности передать 'j' или 'z'. –  Good Person 11.12.2013, 16:46
rsync with the -A and/or -X options.
5
27.01.2020, 19:41

Я предлагаю, чтобы Вы использовали bsdtar.

bsdtar резервные копии расширили ACL по умолчанию, он использует тот же синтаксис как GNU tar, и архивы это продукты читаемы GNU tar.

Пакет и название команды (под Debian основывал дистрибутивы) bsdtar.

bsdtar cf archive.tar /my/folder/using/extd_acl 
bsdtar xf archive.tar 

2-е (извлечение) команда восстанавливает ACLs.

2
27.01.2020, 19:41

Я ищу решение также до сих пор, я нашел это:

сначала сделайте getfactl от моей папки

getfacl -R /a_folder > folder.acl

затем сделайте регулярный tar

tar -czvf folder.tar.gz /a_folder

когда я извлекаю его

tar -xvf folder.tar.gz

сделайте setfacl для полномочий.

setfacl --restore=folder.acl

это работает на меня.

9
27.01.2020, 19:41

Теги

Похожие вопросы