Отключение syslogd во FreeBSD
Я использую FreeBSD на очень маленькой виртуальной машине с объемом около 1,5 ГБ. Я хотел бы отключить syslogd
для экономии места на диске, но для него нет записи в /etc/rc.conf
, service -e
показывает, что syslogd
действительно работает. Как отключить / удалить его?
3 ответа
Останови демона:
/etc/rc.d/syslogd stop
Добавить строку к /etc/rc.conf
:
syslogd_enable="NO"
Ответ Игоря хороший, но я бы хотел рассказать о нем больше для нынешних и будущих гостей поисковой системы. Чтобы полностью отключить syslogd, нужно немного больше:
Полностью отключить syslogd
остановите системный журнал
service syslogd onestop
- Использует
service
команда, которая была с нами с FreeBSD 7.3 (2012). Он работает для служб в /etc/rc.d, а также /usr/local/etc/rc.d и более удобен для работы с пальцами. - С помощью
onestop
вместоstop
остановит syslogd, даже если эти команды вышли из строя.
отключить syslogd
sysrc syslogd_enable=NO
Эта команда делает именно то, что Игорь инструктирует, и добавляет строку в /etc/rc.conf, которая предотвращает запуск syslogd в будущем. Sysrc появился во FreeBSD 9.2 (2015). Ранее то же самое обычно выполнялось с echo syslogd_enable=NO >> /etc/rc.conf
,
отключить журнал новостей при загрузке
sysrc newsyslog_enable=NO
Эта команда предотвращает newsyslog
от запуска во время загрузки.
отключить новостной журнал во время выполнения
sed -i .bak -e '/^0.*newsyslog/ s/^0/#0/' /etc/crontab
Эта команда sed ищет строку, которая начинается с 0 и содержит слово newsyslog. Затем он вставляет # перед нулем, отключая задачу cron newsyslog. Теперь вы не будете получать надоедливые электронные письма от cron с жалобами на то, что:
newsyslog: файл pid не существует: /var/run/syslog.pid
Является ли отключение syslogd хорошей идеей?
EhevuTov очень хорошо отмечает, что отключение syslogd для экономии места на диске, вероятно, не лучшая причина. Однако есть несколько очень веских причин, по которым можно отключить syslogd.
- Запуск FreeBSD в тюрьме с процессом, который обрабатывает свои собственные журналы (squid, nginx и т. Д.). Если ничто в тюрьме не использует syslogd, то нет смысла его запускать.
- Запуск тысяч джейлов на хосте FreeBSD может сделать другую архитектуру системного журнала более разумной (сброс сокетов журнала в каждую тюрьму (см. Syslogd -l)).
- № 2 подходит даже для нескольких тюрем, когда требуется централизованная регистрация. Это позволяет избежать необходимости в каждой тюрьме, настроенной с
@host
синтаксис для пересылки. - Числа 2 и 3 особенно важны, если вы также направляете все журналы во внешние системы для индексации и архивирования. Переадресация системного журнала в конечном итоге усложняет эти варианты использования.
- Использование другого демона системного журнала. Если вы используете альтернативный демон syslog, есть большая вероятность, что вы захотите полностью отключить системный системный журнал FreeBSD и все его предположения и ожидания.
Добавить строку к /etc/rc.conf
:
syslogd_enable = "НЕТ"
Останови демона:
/etc/rc.d/syslogd stop
Тем не менее, я бы не рекомендовал останавливать syslogd. Вместо этого я рекомендую отредактировать размер и частоту вращения журнала. /etc/newsyslog.conf
конфигурационный файл. Это очень модифицируемо. Вы можете комментировать услуги, которым вы не хотите следовать, с помощью #
в начале строки или измените:
count
для максимального количества файловых архивовsize
для размера каждого архиваwhen
когда вы хотите повернуть
Есть куча вариантов, которые, я думаю, могли бы соответствовать вашей ситуации. Например, если вы хотите сохранить максимальный размер в килобайтах для своих журналов, вы можете сделать это. Конечно, вы можете сэкономить несколько КБ для журналов: man newsyslog.conf
для более подробной информации о том, как правильно подобрать необходимый размер системы журнала.