3

Я использую FreeBSD на очень маленькой виртуальной машине с объемом около 1,5 ГБ. Я бы хотел отключить syslogd для экономии места на диске, но в /etc/rc.conf нет записи для него. service -e показывает, что syslogd действительно работает. Как отключить / удалить его?

3 ответа3

2

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

/etc/rc.d/syslogd stop

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

syslogd_enable="NO"
2

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

syslogd_enable = "НЕТ"

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

/etc/rc.d/syslogd stop

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

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

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

2

Ответ Игоря хороший, но я бы хотел рассказать о нем больше для нынешних и будущих гостей поисковой системы. Чтобы полностью отключить 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 и все его предположения и ожидания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .