在logrotate之后你需要重启solr守护进程吗?

时间:2013-10-04 05:20:41

标签: solr daemon logrotate

这是对以下答案的后续跟进: How to start Solr automatically?

我有solr作为守护进程运行,如上所述。但我意识到它已用完了超过250GB的日志。我正在考虑使用logrotate来调节日志大小。在上面发布的logrotate conf文件中,有一个postrotate命令来重新启动solr。

我正在运行一些始终在读取和写入solr的关键进程。所以我不想经常重启它。是否严格需要重新启动postrotate?

更新:

我尝试使用delaycompress而不是重启守护进程。创建了一个新的日志文件,但solr继续写入旧文件(已重命名为solr.log.1)

我再次尝试,没有延迟压缩,现在solr.log和solr.log.1都是空的。但df仍显示与大量日志消失之前相同的磁盘使用情况!

1 个答案:

答案 0 :(得分:0)

磁盘使用率仍然很高的原因是因为您的solr进程仍然具有日志文件的打开文件句柄。尝试将copytruncate添加到logrotate.d for solr而不是postrotate restart。您需要重新启动solr才能释放该句柄并在磁盘上标记块空闲。