• Linux 系统垃圾日志清理


    Linux 系统垃圾日志清理

    CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal
    systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。
    systemd-journal 日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。
    默认情况下并不会持久化保存日志,只会保留一个月的日志。

    1. rsyslog日志

    作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。
    此类日志默认保持1个月, 基本无需手工删除;

    常见的日志文件如下:
    /var/log/messages      绝大多数的系统日志都记录到该文件
    /var/log/secure          所有跟安全和认证授权等日志都会记录到此文件
    /var/log/maillog       邮件服务的日志
    /var/log/cron             crond计划任务的日志
    /var/log/boot.log       系统启动的相关日志
     
    对于过大文件可以随便删除,

    2. systemd-journal日志

    a. 存放路径

    一些rsyslog无法收集的日志也会被journal记录,存放路径:/var/log/journal
    此类日志默认保持策略,一般情况下是固定大小。可以设置和改变

    查看日志文件大小

    1. [root@server41 log]# cd /var/log
    2. [root@server41 log]# du -h --max-depth=1
    3. 8.0K ./tuned
    4. 380K ./pods
    5. 140K ./containers
    6. 44K ./nginx
    7. 4.0K ./chrony
    8. 52K ./acs
    9. 1.5M ./alicloud
    10. 4.0K ./rhsm
    11. 66M ./sa
    12. 40M ./audit
    13. 3.9G ./journal
    14. 4.0K ./anaconda
    15. 9.9G .

    b journalctl 命令自动维护文件大小

    1. 1)只保留近一周的日志
    2. journalctl --vacuum-time=1w
    3. 2)只保留500MB的日志
    4. journalctl --vacuum-size=500M
    5. 3)直接删除 /var/log/journal/ 目录下的日志文件
    6. rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1

    c  问题与分析解决

    1. 执行 journalctl 命令时报错:Error was encountered while opening journal files: Input/output error
    2. # journalctl --vacuum-time=1w
    3. Error was encountered while opening journal files: Input/output error
    4. 问题分析:日志文件损坏
    5. 解决方法:删除之前的日志,并重启 journalctl 服务
    6. mv journal/f9d400c5e1e8c3a8209e990d887d4ac1 journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122
    7. systemctl restart systemd-journald.service
    8. 查看 /var/log/journal/ 日志目录如下:
    9. # ll /var/log/journal/
    10. drwxr-sr-x  2 root systemd-journal  4096 Jan 22 11:26 f9d400c5e1e8c3a8209e990d887d4ac1
    11. drwxr-sr-x+ 2 root systemd-journal 12288 Jan 14 15:37 f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122
    12. 然后,再执行 journalctl 限制日志的命令:
    13. # journalctl --vacuum-time=1w
    14. Vacuuming done, freed 0B of archived journals on disk.
    15. # journalctl --vacuum-size=500M
    16. Vacuuming done, freed 0B of archived journals on disk.

  • 相关阅读:
    FlinkModule加载HiveModule异常
    一分钟!图片生成32种动画;Adobe绘画工具大升级;复盘Kaggle首场LLM比赛;VR科普万字长文 | ShowMeAI日报
    HTML+CSS+JS静态网页设计【二十四节气】期末课程大作业
    SQL之Case When用法详解
    香蕉派BPI-Wifi6迷你路由器公开发售
    图像处理之A steganographic method for images by pixel-value differencing(PVD)论文复现
    【Rust日报】2022-07-18 Rust 1.62.1 pre-release 测试
    请求转发和请求重定向的区别
    Android 通用首页代码示例
    中枢听觉处理障碍的行为干预方法
  • 原文地址:https://blog.csdn.net/shgh_2004/article/details/125523260