1、背景介绍
由于模块上面硬盘容量有限,需要定时清理系统日志。为了方便用户使用,在系统中设定自动日志轮询操作,让日志占用容量由操作系统自动管理,用户无需担心日志太多把硬盘容量占满。
2、操作说明
新建需要分割的日志logrotate配置文件:此处以messages为例:
vim /etc/logrotate.d/messages
编辑文件,内容如下:
/var/log/messages* {copytruncatedailydateextrotate 3compressmissingoksize 200K}
第一行是文件的全路径,大括号中的重要字段解释如下:
copytruncate 使用先拷贝文件再 truncate 原文件的方法来轮转,这种方法无需停应用,也不会有数据丢失。
daily 按天执行
dateext 轮转后的日志备份加上日期后缀
rotate 3 总共保留 3 份备份文件
compress 开启gzip压缩,能大幅减少日志备份的尺寸
missingok 日志文件不存在的时候不会报错(如果有多个配置,会继续执行)
size 200K 只有文件大于 200K 时才轮转(可以根据实际需求修改)
手动执行logrotate,查看是否能分割成功
/usr/sbin/logrotate /etc/logrotate.d/messages
添加到定时任务里
vim /etc/crontab
根据实际需求编辑定时执行分割日志任务的命令;
重启crond服务
systemctl restart crond
多种日志文件,需要建多个配置文件、多行定时任务,根据需要分割的日志来编写配置文件即可。