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
обработайте или попробуйте следующее:
- Удалить новый
mongod.log
файл, который вы создали в/var/log/mongodb
- Переместить старое
mongod.log
подать обратно в/var/log/mongodb
- Выпустить
logRotate
команда отmongo
оболочка (при подключении к соответствующемуmongod
)
Примечание: в качестве альтернативы для шага 3 вы можете отправить kill -SIGUSR1 <pid of mongod>
добиться того же.
Как только это будет сделано, у вас будет новый mongod.log
файл в папке вместе с урезанным предыдущим файлом (больше не записывается в). Точное имя зависит от версии, которую вы промываете, которую вы не упомянули, но теперь вы можете свободно перемещать большие файлы журналов в другой каталог (я бы порекомендовал сжать их, они легко сжимаются).
Если размер является постоянной проблемой, я бы порекомендовал делать это как работу cron или аналогично, чтобы автоматизировать процесс в будущем.
Просто введите приведенную ниже команду во время выполнения, и вы увидите записи журналов в указанный файл журнала:
db.adminCommand( { logRotate : 1 } )
Надеюсь это поможет!!!