Назад | Перейти на главную страницу

Я случайно удалил / var / log / syslog, теперь rsyslog ничего не регистрирует

Я случайно удалил / var / log / syslog, думая, что система автоматически воссоздает его (это не так).

я использовал touch /var/log/syslog и перезапустили rsyslog, но система по-прежнему ничего не регистрирует. Я также перезапустил весь сервер безрезультатно.

выход ls -l /var/log/syslog является

-rwxrwxr-x 1 root root 0 Oct 27 13:16 syslog

Как я могу заставить систему снова начать регистрацию в системном журнале?

ПРИМЕЧАНИЕ ДЛЯ БУДУЩИХ ЧИТАТЕЛЕЙ

перезапуск rsyslog действительно устранил проблему. Причина, по которой у меня это не сработало в первый раз, заключалась в том, что я создал файл "syslog", используя touch /var/log/syslog.

Решение было удалить /var/log/syslog. Тогда беги sudo service rsyslog restart

TL; DR; НЕ СОЗДАВАЙТЕ ФАЙЛ САМОСТОЯТЕЛЬНО. УДАЛИТЕ системный журнал, затем перезапустите rsyslog (который создаст для вас системный журнал). Задача решена.

rsyslog должен повторно создать файл (с правильными разрешениями) после перезапуска:

# mv /var/log/syslog /tmp/

# /etc/init.d/rsyslog restart
[ ok ] Restarting rsyslog (via systemctl): rsyslog.service.

# dir /var/log/syslog
-rw-r----- 1 root adm 327 Oct 27 13:28 /var/log/syslog

Возможно, попробуйте принудительно создать запись в журнале, чтобы убедиться, что она запущена:

# /usr/bin/logger -p0 foo
# tail /var/log/syslog
...
Oct 27 13:31:39 myserver root: foo

Несмотря на то, что файл был удален, дескриптор файла, который использовал rsyslog, вероятно, все еще был открыт и в него производилась запись. lsof может быть использован для проверки этого, а также может сказать вам, какие файлы открыты процессом, если вы хотите увидеть, куда записываются журналы. pidof rsyslogd | xargs lsof -p

Это может быть проблема с SELinux. При прикосновении к файлу создается метка MAC, несовместимая с разрешениями MAC, необходимыми для элементов ведения журнала. Разрешение автозагрузки для создания файла прикрепляет правильную метку MAC. Даже если бы вы изменили права доступа к файлам (DAC), у вас все равно, вероятно, были бы проблемы.

Восстановить файл

бегать restorecon -v /yoursyslogdeletedfile

бегать systemctl reload rsyslog