Почему kill -HUP используется в logrotate в RHEL? Это необходимо во всех случаях?

Я не знаю, как работают моды Siemens и какую роль они играют при установке. Теоретически, поскольку вы можете загружаться с USB, вы должны иметь возможность загрузиться в динамический дистрибутив, содержащий установщик. Я сделал это с Fedora, RHEL, Mint, SUSE и Mageia, так что выбирайте сами.

  1. Загрузите Live установщик ISO по вашему выбору.
  2. Бит за битом скопируйте ISO на USB-накопитель: # dd if = / path / to / iso of = / dev / sdx bs = 2M (где sdx - это путь устройства к USB-накопителю)
  3. Подождите, пока он скопируется ..........
  4. Загрузитесь с этого USB-накопителя и установите.

Я предполагаю, что в процессе установки вы можете выбрать моды или изменить их по мере необходимости?

1
25.04.2018, 17:43
2 ответа

Обычно службы сохраняют файлы журналов открытыми во время работы. Это означает, что им все равно, переименованы ли/перемещены или удалены файлы журналов, они продолжат запись в обрабатываемый открытый файл.

Когда logrotate перемещает файлы, службы продолжают записывать в один и тот же файл.

Пример :crond будет писать в /var/log/cron.log. Затем logrotate переименует файл в /var/log/cron.log.1, поэтому crond продолжит запись в открытый файл /var/log/cron.log.1.

Отправка сигнала HUP в crond заставит его закрыть существующий дескриптор файла и открыть новый дескриптор файла по исходному пути /var/log/cron.log, что создаст новый файл.

Использование сигнала HUP вместо другого остается на усмотрение программы. Некоторые службы, такие как php -fpm, будут прослушивать сигнал USR1, чтобы повторно открыть дескриптор файла без завершения работы.

9
27.01.2020, 23:18

Когда вы перемещаете файл, программы, в которых этот файл был открыт, по-прежнему имеют тот же файл, открытый в новом местоположении, и продолжают добавлять к старому файлу журнала. kill -HUPне обязательно перезапускает сам себя (для системного журнала, но, например, для syslog. демон cron, который управляет своими собственными журналами, он просто контролирует сам файл журнала ), но может просто заставить его закрыть файл и открыть файл по имени , что является важной частью этого скрипта. Выполнение жесткого перезапуска syslogd также будет означать, что служба syslog недоступна во время перезапуска, в то время как использование сигнала, который syslogd знает, как обрабатывать, позволяет ему делать все, что ему нужно, чтобы «перезапуск» был прозрачным.

3
27.01.2020, 23:18

Теги

Похожие вопросы