<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https:///index.php?action=history&amp;feed=atom&amp;title=Make_config</id>
	<title>Make config - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https:///index.php?action=history&amp;feed=atom&amp;title=Make_config"/>
	<link rel="alternate" type="text/html" href=""/>
	<updated>2026-05-05T13:31:44Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id></id>
		<title>Sv в 12:56, 19 березня 2019</title>
		<link rel="alternate" type="text/html" href=""/>
		<updated>2019-03-19T12:56:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Модуль ядра '''make config''' входит в базовую поставку и позволяет создавать конфигурационные файлы '''на лету'''. Например, с помощью make_config можно формировать:&lt;br /&gt;
* [[dhcp-конфиг с помощью make config|конфиг для dhcp-сервера]]&lt;br /&gt;
* данные пользователей, например, в cvs-файле для экспорта во внешние программы.&lt;br /&gt;
&lt;br /&gt;
Результат формируется динамически - это значит, что он будет переформирован при изменении данных в биллинге.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Пример шаблона для экспорта в csv:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{% for user in users %}&lt;br /&gt;
{{ user.name }};{{ user.show_data._adr_street }}&lt;br /&gt;
{% endfor %}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь user.show_data._adr_street - вывод дополнительного поля  _adr_street.&lt;br /&gt;
&lt;br /&gt;
Необходимо отметить, что в дополнительных данных есть тип поля &amp;quot;выпадающий список&amp;quot;, при этом в самом поле может храниться код, а отображаемое значение будет находиться в таблице dictionary:&lt;br /&gt;
* '''&amp;lt;nowiki&amp;gt;{{ user.data._adr_street }}&amp;lt;/nowiki&amp;gt;''' - вывод значения, которое хранится в поле _adr_street (т.е там может быть код улицы)&lt;br /&gt;
* '''&amp;lt;nowiki&amp;gt;{{ user.show_data._adr_street }}&amp;lt;/nowiki&amp;gt;''' - вывод преобразованного значения (имени улицы)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Кроме самого шаблона необходим файл настроек для модуля make_config: kernel/make_config.cfg. Он может быть таким:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run     =&amp;gt; 0,&lt;br /&gt;
period  =&amp;gt; 60,&lt;br /&gt;
template  =&amp;gt; {&lt;br /&gt;
            'users.tmpl' =&amp;gt; {&lt;br /&gt;
                # куда будет записан результат&lt;br /&gt;
                file       =&amp;gt; '/tmp/users.csv',&lt;br /&gt;
&lt;br /&gt;
                # системная команда, которая будет выполнена перед записью результата, можно ''&lt;br /&gt;
                cmd_before =&amp;gt; '',&lt;br /&gt;
&lt;br /&gt;
                # системная команда, которая будет выполнена после записи результата, можно ''&lt;br /&gt;
                cmd_after  =&amp;gt; '',&lt;br /&gt;
&lt;br /&gt;
                # удалять пустые строки&lt;br /&gt;
                pretty =&amp;gt; 1,&lt;br /&gt;
            },&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Здесь:&lt;br /&gt;
* users.tmpl - имя файла с шаблоном;&lt;br /&gt;
* /tmp/users.csv - имя файла, куда будет записан результат;&lt;br /&gt;
* переменная period указывает на период в секундах, с которым будет формироваться результат.&lt;br /&gt;
&lt;br /&gt;
Запустим модуль make_config с выводом результата на экран:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perl /usr/local/nodeny/nokernel.pl -v -m=make_config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если результат корректный, добавим запуск make_config в автозагрузку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo '/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=make_config -d &amp;amp;' &amp;gt;&amp;gt; /etc/rc.local&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sv</name></author>
	</entry>
</feed>