У меня есть запись это может или не может появиться в /etc/rsyslog.conf
:
# Added for Kiwi
*.err;*.emerg;*.alert;*.warning;*.debug;*.notice;*.crit;*.info @10.19.24.50
Поскольку на некоторых из этих серверов это должно было быть введено вручную, я не могу предположить, что пробелы единообразны (и они могут различаться по крайней мере на двух серверах, которые я нашел). Я пытаюсь написать марионеточный модуль для удаления этих строк.
Соответствующий сегмент этого модуля:
file_line {'remove_kiwi_comment':
ensure => absent,
path => $confFile,
match => "^#.*Kiwi$",
line => "# Added for Kiwi",
match_for_absence => true,
}
file_line {'remove_kiwi_forward2':
ensure => absent,
match_for_absence => true,
path => $confFile,
match => '^.*50$',
line => '*.err;*.emerg;*.alert;*.warning;*.debug;*.notice;*.crit;*.info @10.19.24.50',
notify => Service[$serviceName],
}
Приведенное выше успешно удаляет комментарий с одного из серверов DEV, но фактическое перенаправление, похоже, не удаляется. Я поигрался с регулярным выражением в match =>
безрезультатно, и я не уверен, что еще я могу попытаться заставить его удалить строку. Если я добавлю достаточно пробелов, он удалит его, но я не хочу, чтобы мой модуль предполагал какое-либо количество пробелов, просто чтобы было некоторое количество пробелов для загрузки rsyslog
.
Версия модуля Stdlib - 4.11, master - 3.3, клиентский узел для этого сервера - 3.6