Как сделать, файл/dir существует условное выражение в Марионетке?

Google logo

17
задан 19 June 2013 в 14:26
3 ответа

Workaround for this: use onlyif on an exec "test" and require it in your action you want to execute:

exec {"check_presence":
  command => '/bin/true',
  onlyif => '/usr/bin/test -e /path/must/be/available',
}

whatever {"foo...":
  .....
  require => Exec["check_presence"],
}
30
ответ дан 2 December 2019 в 20:29

Вы могли также использовать встроенную функцию find_file () для него... это возвращает undef, когда файл/путь не делает существует и строка, если это, существует.

https://puppet.com/docs/puppet/5.5/function.html#findfile

0
ответ дан 2 December 2019 в 20:29

Мне тоже было трудно понять, как предотвратить запуск модуля, если каталог не существует. Это то, что я обнаружил, сработало для меня.

exec { 'module_name':
   command => "command to run with variables", # Double quotes for Variable interpolation
   path   => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:",
   onlyif => 'test -d /mydirectory',
   }

Добавление пути - вот что действительно помогло мне. По какой-то причине, даже если я добавил путь к тестовой команде, такой как / bin / test , похоже, он работал неправильно.

Надеюсь, это поможет другим, у кого может быть такая же проблема.

0
ответ дан 2 December 2019 в 20:29

Теги

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