linux 日志分割

[root@clsn6 ~]# vim /etc/logrotate.d/host.access.log
/usr/local/nginx1.19.4/logs/host.access.log {
monthly
rotate 5
compress
delaycompress
missingok
notifempty
create 644 root root
postrotate
# /usr/bin/killall -HUP rsyslogd
if [ -f /usr/local/nginx1.19.4/logs/nginx.pid ]; then

kill -USR1 `cat /usr/local/nginx1.19.4/logs/nginx.pid`

fi
endscript
}

logrotate /etc/logrotate.conf
logrotate -vf /etc/logrotate.d/host.access.log

 

分割文件文件名为host.access.log

#!/bin/bash
dir=/usr/local/nginx1.19.4/logs/; #日志路径
file=host.access.log.1; #日志名称
date_file=host.access.log-`date +"%Y%m%d"`; #分割日志文件名称
cd $dir && mv -f $file $date_file; #进行分割

#find $dir -mtime +15 -name "$file-*.log" -exec rm -rf {} \;

 

修改分割文件的文件名

crontab -e
0 0 * * * logrotate -vf /etc/logrotate.d/host.access.log
0 1 * * * sh /usr/local/nginx1.19.4/logs/fenge.sh

跑定时任务

 

 

日志分割的另一种思路

#!/bin/bash
TIME=`date '+%Y%m%d'`;
cp /mms/mms/logs/rocketmqlogs/broker.log /mms/mms/logs/rocketmqlogs/${TIME}_broker.log
echo '' > /mms/mms/logs/rocketmqlogs/broker.log

posted @   一只白杨  阅读(492)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示