Отключение 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.

  1. Запуск FreeBSD в тюрьме с процессом, который обрабатывает свои собственные журналы (squid, nginx и т. Д.). Если ничто в тюрьме не использует syslogd, то нет смысла его запускать.
  2. Запуск тысяч джейлов на хосте FreeBSD может сделать другую архитектуру системного журнала более разумной (сброс сокетов журнала в каждую тюрьму (см. Syslogd -l)).
  3. № 2 подходит даже для нескольких тюрем, когда требуется централизованная регистрация. Это позволяет избежать необходимости в каждой тюрьме, настроенной с @host синтаксис для пересылки.
  4. Числа 2 и 3 особенно важны, если вы также направляете все журналы во внешние системы для индексации и архивирования. Переадресация системного журнала в конечном итоге усложняет эти варианты использования.
  5. Использование другого демона системного журнала. Если вы используете альтернативный демон syslog, есть большая вероятность, что вы захотите полностью отключить системный системный журнал FreeBSD и все его предположения и ожидания.

Добавить строку к /etc/rc.conf:

syslogd_enable = "НЕТ"

Останови демона:

/etc/rc.d/syslogd stop

Тем не менее, я бы не рекомендовал останавливать syslogd. Вместо этого я рекомендую отредактировать размер и частоту вращения журнала. /etc/newsyslog.conf конфигурационный файл. Это очень модифицируемо. Вы можете комментировать услуги, которым вы не хотите следовать, с помощью # в начале строки или измените:

  • count для максимального количества файловых архивов
  • size для размера каждого архива
  • when когда вы хотите повернуть

Есть куча вариантов, которые, я думаю, могли бы соответствовать вашей ситуации. Например, если вы хотите сохранить максимальный размер в килобайтах для своих журналов, вы можете сделать это. Конечно, вы можете сэкономить несколько КБ для журналов: man newsyslog.conf для более подробной информации о том, как правильно подобрать необходимый размер системы журнала.

Другие вопросы по тегам