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

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

相关文章:

  • 安达发|人力、机器、物料——APS排程软件如何实现资源最优配置?
  • 期货跟单软件如何对实盘进行风控?
  • awesome-digital-human本地部署及配置:打造高情绪价值互动指南
  • Shell 脚本编程详细指南:第五章 - 函数与参数传递
  • 边缘大型语言模型综述:设计、执行和应用
  • 麒麟系统使用-个性化设置
  • Arthas工具使用
  • 7:点云处理—眼在手外标定
  • 机器视觉的平板电脑屏幕组件覆膜应用
  • FPGA 41 ,ICMP 协议详细解析之构建网络诊断系统( ICMP 协议与 IP 协议理论详细解析 )
  • Python爬虫抓取Bilibili弹幕并生成词云
  • 全息美AISEO与AIGEO优选榜
  • Oracle Fusion常用表
  • Qt开发:项目视图(Item Views)的介绍和使用
  • ApplicationEventPublisher 深度解析:Spring 事件驱动模型的核心
  • VUE el-select下拉框动态设置禁用,删除后恢复可选择
  • C语言printf使用错误导致程序崩溃
  • 【Day 23】HarmonyOS开发实战:从AR应用到元宇宙交互
  • Java-很深我只知其一构造(Builder)
  • 第六章 进阶09 我的人才观
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 东方红资管官宣:41岁原国信资管董事长成飞出任新总经理
  • 上汽享道出行完成13亿元C轮融资,已启动港股IPO计划
  • 中华人民共和国和俄罗斯联邦关于全球战略稳定的联合声明
  • 范志毅跨界归来做青训,探索中国足球人才培养新模式
  • 大风暴雨致湖南岳阳县6户房屋倒塌、100多户受损