美文网首页
35.logrotate学习笔记

35.logrotate学习笔记

作者: 人生玩家Eli | 来源:发表于2022-09-13 22:00 被阅读0次
笔记黑底.png

参考1,来自yhc166188
参考2,来自冻梨不是梨
参考3,m0_54853503

只是简述一下logrotate的使用流程,具体用法可以看上面的参考

logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。

1.安装

Linux系统可能默认安装了logrotate工具。

2.配置

  • 默认配置文件位置:/etc/logrotate.conf,默认配置文件中有include语句,会引用其它位置的配置文件,如/etc/logrotate.d/目录下的文件。
  • 状态文件位置:/var/lib/logrotate.status,在这个文件中,会记录上次文件的运行状态,可以查看查看各log文件的具体执行情况。

配置文件里一定要配置rotate 文件数目这个参数。如果不配置默认是0个,也就是只允许存在一份日志,刚切分出来的日志会马上被删除。

新建配置文件,如/etc/logrotate.d/mytest1,内容如下:

/opt/docker-ws/nginx/logs/*.log {
    daily
    rotate 30
    copytruncate
    notifempty
    missingok
    dateext
}

说明:

  • /opt/docker-ws/nginx/logs/*.log: 是log文件的路径
  • daily:每天分割一次
  • rotate 30: 保留最近30个分割后的日志文件
  • notifempty: 当日志文件为空时不分割
  • dateext: 切割后的文件添加日期作为后缀

3.运行

  1. 检查配置文件有没有错误:logrotate -d /etc/logrotate.d/mytest1
  2. 执行转储并显示过程:logrotate -v /etc/logrotate.d/mytest1

如果执行顺利的话,就可以在日志文件旁边看到转储的文件了。

4.定时运行

通过crontab建立定时任务

  1. 运行命令crontab -e,进入 vim 模式,进行编辑。
  2. 添加59 23 * * * logrotate -f /etc/logrotate.d/xxx,这样每天23点59分就会进行日志分割
  3. 重启crontab:systemctl restart crond

相关文章

网友评论

      本文标题:35.logrotate学习笔记

      本文链接:https://www.haomeiwen.com/subject/whahortx.html