当前位置: 首页 > ops >正文

linux中的日志分割

1.问题背景,nginx日志过大不好删除

[root@localhost cron.daily]# cd /lk/nginx/log/
[root@localhost log]# ll
总用量 2386188
-rw-r--r--. 1 root root 2078699697 5月   9 13:02 access.log
-rw-r--r--. 1 root root      11138 5月   6 10:28 error.log
[root@localhost log]# du -sh *
2.3G    access.log
12K    error.log
[root@localhost log]# pwd
/lk/nginx/log
[root@localhost log]#

2,要求:日志只保留7天,按天分割
 

 3,实现步骤

1,安装软件

yun -y install crond && systemctl restart crond && systemctl enable crond

2,创建日志切割配置 

vi /etc/logrotate.d/nginx

/lk/nginx/log/access.log {
    daily
    rotate 4
    missingok
    compress
    delaycompress
    notifempty
    create 0640 root root
    dateext
    dateformat -%Y%m%d
}

 3,测试配置

sudo logrotate -d /etc/logrotate.d/nginx

这将模拟日志切割,且不会实际修改文件。如果配置正确且没有错误,你可以去掉 -d 参数,执行实际的日志切割:-f 强制切割

sudo sudo logrotate -f /etc/logrotate.d/nginx

4. 自动化

设置时间

crontab -e

59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx

这表示 logrotate 会在每天在 23:59 自动执行日志轮转 

确保 Cron 服务正在运行

sudo systemctl status crond && systemctl restart crond

http://www.xdnf.cn/news/4966.html

相关文章:

  • sklearn自定义pipeline的数据处理
  • c++中new和malloc 分配内存有什么不同
  • VSCode远程无法选择虚拟环境问题
  • 官方SDK停更后的选择:开源维护的Bugly Unity SDK
  • 《深挖Java中的对象生命周期与垃圾回收机制》
  • 麒麟系统安装 Nginx 作为非 Web 程序的完整指南
  • 自定义prometheus exporter实现监控阿里云RDS
  • 【彻底卸载nginx并部署nginx1.22.1+ssl模块等】
  • 供应链管理系统建设方案,技术方案(Word)
  • SpringAI--基于MySQL的持久化对话记忆实现
  • 当当网Top500书籍信息爬取与分析
  • 事务失效的场景
  • 循环卷积(Circular Convolutions)
  • 227. 基本计算器 II
  • Tomcat 日志体系深度解析:从访问日志配置到错误日志分析的全链路指南
  • VUE2课程计划表练习
  • 推送到Gerrit时报错,缺少Change-Id
  • component :is是什么?
  • 多轴钻孔组合机床设计与关键技术研究
  • 【nestjs】一般学习路线
  • 嵌入式学习笔记 - 关于单片机的位数
  • 基于AQS实现Reentrantlcok
  • 【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题
  • LeetCode百题刷002摩尔投票法
  • 镜头内常见的马达类型(私人笔记)
  • Nginx静态资源增加权限验证
  • CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍
  • 单位代码签名证书是什么?如何申请?
  • 开平机:从原理到实践的全面技术剖析
  • 【C/C++】范围for循环