Мы часто сталкивались с ситуацией, когда кто-то запускает rsyslog и вносит изменения в конфигурацию. И обычно, после внесения изменений, rsyslog перезапускается, но измененная конфигурация оказывается недействительной. rsyslog имеет функцию проверки конфигурации на действительность.
Это можно сделать очень просто, вызвав эту команду:
1 | rsyslogd -N1 |
Обратите внимание, что rsyslogd может не быть в вашем пути поиска - тогда он обычно находится в /sbin/rsyslogd
Это говорит rsyslog выполнить проверку конфигурации. Он НЕ работает в обычном режиме, а просто проверяет правильность конфигурационного файла. Эта опция предназначена для проверки конфигурационного файла. Для этого запустите rsyslogd в интерактивном режиме на переднем плане, указав -f <config-файл> и -N level. Аргумент level изменяет поведение. В настоящее время 0 - это то же самое, что вообще не указывать опцию -N (так что это имеет ограниченный смысл), а 1 фактически активирует код.
Эта проверка конфигурации будет проверять ее только на целостность, как и синтаксис. Кроме того, будут загружены модули, чтобы убедиться, что они работают правильно. С другой стороны, поскольку движок не будет загружен, ошибки с разрешениями и т.п. не могут быть проверены. Они будут возникать только при обычном запуске rsyslog.
Вердикт для этой опции таков, что она весьма полезна для первой проверки правильности изменений, без запуска конфигурации в реальном режиме. Это может помочь предотвратить перезапуск rsyslog с неправильной конфигурацией, что сделает rsyslog бесполезным, поскольку он может не работать или работать неправильно.