Mongodb: файл журнала остается пустым

Вчера я переместил 2 файла из /var/log/mongodb в другой каталог. Имена файлов: "mongod.log", "mongod.log.1" (только 2 файла в этом каталоге большого размера). В этот момент mongodb работал, я ожидал, что mongodb создаст новый mongod.log, но он этого не сделал. Затем я вручную создал mongod.log и сделал "chown mongodb: mongodb mongod.log", но файл все еще пуст.

Я не могу остановить mongodb, как заставить mongodb снова войти в этот файл? Mongod.conf в порядке.

2 ответа

Решение

Этот оригинальный файл все еще остается открытым mongod несмотря на то, что вы переместили его, и он будет оставаться файлом, в который он входит, пока вы не остановите mongod обработайте или попробуйте следующее:

  1. Удалить новый mongod.log файл, который вы создали в /var/log/mongodb
  2. Переместить старое mongod.log подать обратно в /var/log/mongodb
  3. Выпустить logRotate команда от mongo оболочка (при подключении к соответствующему mongod)

Примечание: в качестве альтернативы для шага 3 вы можете отправить kill -SIGUSR1 <pid of mongod> добиться того же.

Как только это будет сделано, у вас будет новый mongod.log файл в папке вместе с урезанным предыдущим файлом (больше не записывается в). Точное имя зависит от версии, которую вы промываете, которую вы не упомянули, но теперь вы можете свободно перемещать большие файлы журналов в другой каталог (я бы порекомендовал сжать их, они легко сжимаются).

Если размер является постоянной проблемой, я бы порекомендовал делать это как работу cron или аналогично, чтобы автоматизировать процесс в будущем.

Просто введите приведенную ниже команду во время выполнения, и вы увидите записи журналов в указанный файл журнала:

db.adminCommand( { logRotate : 1 } )

Надеюсь это поможет!!!

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