有没有办法在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
答案 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>