Марионетка: рекурсивное копирование папки - режим сохранения?

С помощью puppet я понимаю, что могу рекурсивно копировать папки и рекурсивно устанавливать разрешения для отдельных файлов. Но у меня есть исходная папка с (очень, многими) файлами с тщательно настроенными разрешениями. Как мне сделать марионеточный эквивалент:

cp -a $source $dest

?

Это:

file { '/some/dest':
    ensure => directory,
    source => "/some/src",
    recurse => true,
}

Разве не сохраняет режим.

Кроме того, в Best Practices: Recursive File Resources говорится использовать только рекурсивные файлы:

Когда общее количество рекурсивных файлов для управления невелико (например, десять или меньше)

Хорошо, поэтому в качестве аргумента допустим / some / src содержит тысячи файлов со сложными режимами.

Согласно этой ссылке, мои другие варианты - это

  • определенный тип рекурсивных_файлов . Здесь я могу только установить для всех файлов одинаковые разрешения, но не устанавливать для них такие же разрешения, как у источника == не будет работать для нас.
  • puppet / archive module
  • создает пакет для файлов, и использовать ресурс Package для управления им.

Оба последних подхода, похоже, требуют очень много работы для достижения cp -a $ source $ dest . Если у марионетки нет примитивов для создания архива или пакета debian из $ source - я думаю, что нет ...

Итак: действительно ли невозможно cp -a $ source $ dest с использованием марионетки?

0
задан 1 April 2019 в 17:18
1 ответ

Существует атрибут source_permissions , который управляет тем, что происходит при копировании файлов без явной установки режима, который может делать то, что вы хотите. Вы должны установить для него значение использовать или use_when_creating .

1
ответ дан 4 December 2019 в 15:44

Теги

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