目录
1、按天日志切割
确保你的系统已经安装了 logrotate
工具,若未安装,则执行如下命令安装
apt update
apt install -y logrotate
在/etc/logrotate.d/目录下创建一个配置文件,文件名可以自定义,文件内容如下:
# /etc/logrotate.d/cutofflog.conf
/home/work/logs/applogs/pocserver.log { #实际日志文件路径
daily # 每天切割
missingok # 如果日志文件不存在,不报错
notifempty # 如果日志文件为空,不进行切割
create 0640 root root # 切割后创建新日志文件,权限为0640,属于user和group
rotate 31 # 保留31个旧的日志文件,即大约一个月的日志
delaycompress # 延迟压缩,直到下一次切割
compress # 使用gzip压缩
dateext # 使用日期作为扩展名
dateformat -%Y%m%d # 日期格式,这里是年月日
sharedscripts # 如果有多个日志文件,则只执行一次脚本命令
postrotate # 在切割后执行的命令(可选)
# service your-service reload 或者其他你需要的命令
endscript
}
logrotate 每天会自动运行,并按照上述配置切割、压缩日志文件。切割后的文件名会带有日期扩展名,例如 logfile.log-20230425.gz
1.1 测试配置是否正确
#-d 选项表示调试模式,它会显示 logrotate 将要执行的操作,但不会真正执行切割和压缩
logrotate -d /etc/logrotate.d/cutofflog.conf
1.2 启动配置生效
# 不加选项会真正执行切割和压缩
logrotate /etc/logrotate.d/cutofflog.conf
2、按大小切割日志
确保你的系统已经安装了 logrotate
工具,若未安装,则执行如下命令安装
apt update
apt install -y logrotate
在/etc/logrotate.d/目录下创建一个配置文件,文件名可以自定义,文件内容如下:
# /etc/logrotate.d/cutofflog.conf
/home/work/logs/applogs/pocserver.log {
size 10M # 当日志文件达到10MB时切割
missingok # 如果日志文件不存在,不报错
notifempty # 如果日志文件为空,不进行切割
create 0640 root root # 切割后创建新日志文件,权限为0640,属于user和group
compress # 使用gzip压缩
delaycompress # 延迟压缩,和下一份日志一起压缩
dateext # 使用日期作为扩展名
dateformat -%Y%m%d # 日期格式,这里是年月日
sharedscripts # 如果有多个日志文件,则只执行一次脚本命令
postrotate # 在切割后执行的命令(可选)
# 这里可以放置重启服务或者重新加载配置的命令,例如:
# service your-service reload
endscript
}
logrotate 每天会自动运行,并按照上述配置切割、压缩日志文件。
2.1 测试配置是否正确
#-d 选项表示调试模式,它会显示 logrotate 将要执行的操作,但不会真正执行切割和压缩
logrotate -d /etc/logrotate.d/cutofflog.conf
2.2 启动配置生效
# 不加选项会真正执行切割和压缩
logrotate /etc/logrotate.d/cutofflog.conf
👑👑👑结束语👑👑👑