Scripted_configuration.md 2.0 KB

Скриптовая конфигурация

Конфигурация Manticore поддерживает синтаксис шебанга, позволяя писать конфигурацию на языке программирования и интерпретировать её при загрузке. Это даёт возможность динамических настроек, таких как генерация таблиц путём запроса к таблице базы данных, изменение настроек на основе внешних факторов или включение внешних файлов с объявлениями таблиц и источников.

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

Примечание: эта функция недоступна на платформе Windows.

В следующем примере используется PHP для создания нескольких таблиц с разными именами и для сканирования конкретной папки на наличие файлов с дополнительными объявлениями таблиц:

#!/usr/bin/php
...
<?php for ($i=1; $i<=6; $i++) { ?>
table test_<?=$i?> {
  type = rt
  path = /var/lib/manticore/data/test_<?=$i?>
  rt_field = subject
  ...
 }
 <?php } ?>
 ...

 <?php
 $confd_folder='/etc/manticore.conf.d/';
 $files = scandir($confd_folder);
 foreach($files as $file)
 {
         if(($file == '.') || ($file =='..'))
         {} else {
                 $fp = new SplFileInfo($confd_folder.$file);
                 if('conf' == $fp->getExtension()){
                         include ($confd_folder.$file);
                 }
         }
 }
 ?>