Кукольный - Как очистить каталог - PullRequest
0 голосов
/ 25 сентября 2018

Немного марионеточного новичка здесь.Я пытаюсь рекурсивно очистить все файлы и каталоги в / var / www, за исключением сохранения одного файла (/var/www/html/appicon.ico).Это мой код:

  file {'/var/www':
    ensure    => directory,
    recurse   => true,
    purge     => true,
    force     => true,
    require   => Package['httpd'],
    subscribe => Package['httpd']
  } ->
  file {'/var/www/html':
    ensure    => directory,
    owner     => 'root',
    group     => 'root',
    mode      => '0755'
  } ->
  file {'/var/www/html/appicon.ico':
    ensure    => file,
    owner     => 'root',
    group     => 'root',
    mode      => '0644',
    content   => ''
  }

Код действительно очищает все файлы и каталоги, кроме других файлов в / var / www / html.Есть мысли, что я здесь не так делаю или как это можно сделать правильно?

1 Ответ

0 голосов
/ 26 сентября 2018

Вам также необходимо установить очистку для каталога html, а именно:

file {'/var/www':
  ensure    => directory,
  recurse   => true,
  purge     => true,
  force     => true,
  require   => Package['httpd'],
  subscribe => Package['httpd'],
} ->
file {'/var/www/html':
  ensure => directory,
  recurse => true,    # note here
  purge   => true,    #
  owner   => 'root', 
  group   => 'root',
  mode   => '0755'
} ->
file {'/var/www/html/appicon.ico':
  ensure  => file,
  owner   => 'root',
  group   => 'root',
  mode    => '0644',
  content => ''
}

Явное включение файла / каталога в манифест Puppet «защищает» его от очистки с помощью purge => true, recurse => true, установленного наего родительский каталог.

...