手动旋转cassandra system.log

时间:2017-08-30 13:54:31

标签: cassandra

有没有办法在cassandra system.log中强制手动旋转? 我需要每天在0:00(在一个cron中)创建一个新的system.log。

最初我尝试了一个基本的mv,但如果没有重新启动服务,cassandra会停止在日志文件中写入

LOG_NAME="system.log.`date +"%Y%m%d_%H%M"`"
LOG_PATH="/var/log/cassandra"
mv ${LOG_PATH}/system.log ${LOG_PATH}/${LOG_NAME}  &&  '' > ${LOG_PATH}/system.log && chown cassandra:cassandra ${LOG_PATH}/system.log

1 个答案:

答案 0 :(得分:0)

实测!

apt-get install -y logrotate

编辑文件:/etc/cron.daily/logrotate

添加以下行:

/usr/sbin/logrotate -f /etc/cassandra/logrotate.conf

创建文件:/etc/cassandra/logrotate.conf 并添加:

/var/log/cassandra/system.log {
rotate 365
copytruncate
compress
}

手动执行:

/usr/sbin/logrotate -f /etc/cassandra/logrotate.conf

另外,我可以在logback.xml中增加cassandra system.log的大小,但不能通过更改行来一天多次旋转:

<MaxFileSize> 100MB </ maxFileSize>