CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal

systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。

该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。

本文转自米扑博客:Linux 系统 /var/log/journal/ 垃圾日志清理

默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些rsyslog无法收集的日志也会被journal记录到。

rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。

常见的日志文件如下:

/var/log/messages 绝大多数的系统日志都记录到该文件

/var/log/secure 所有跟安全和认证授权等日志都会记录到此文件

/var/log/maillog 邮件服务的日志

/var/log/cron crond计划任务的日志

/var/log/boot.log 系统启动的相关日志

曾经有人说:Linux没有垃圾文件,Windows才有垃圾文件,实际上不是这样的,两者都会有垃圾文件。

操作系统,就是操作各种文件的系统,它不可能没有日志文件,更不可能不产生临时文件,就像剪纸一样,临时产生一些废料是再自然不过的事情。

Linux到底有没有占用空间的垃圾文件,这个看如何判定了,例如好几年前、几个月前的日志文件、系统文件,基本没什么用处,算垃圾文件吗?

ls -lhm --full-time /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122/ | sort -k6 | head -n30

# ls -lhm --full-time /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122/ | sort -k6 | head -n30

total 3.5G

-rw-r-x---+ 1 root systemd-journal 64M 2018-03-28 01:36:01.010275802 +0800 system@00000000000000000000000000000000-00000000000002ca-000567d28f35cca7.journal

-rw-r-x---+ 1 root systemd-journal 8.0M 2018-03-28 01:36:01.100275802 +0800 user-65534@4ee96b2fbd8b4a82beee0402402fee03-0000000000005419-000567f7fd08bd2f.journal

-rw-r-x---+ 1 root systemd-journal 72M 2018-04-02 19:16:41.644934707 +0800 system@00000000000000000000000000000000-0000000000010a47-0005686852f561be.journal

-rw-r-x---+ 1 root systemd-journal 8.0M 2018-04-02 19:16:41.714934707 +0800 user-65534@4ee96b2fbd8b4a82beee0402402fee03-0000000000011f98-00056872cab77761.journal

-rw-r-x---+ 1 root systemd-journal 72M 2018-04-08 05:48:01.673026304 +0800 system@00000000000000000000000000000000-0000000000021c40-000568dbb97116ae.journal

-rw-r-x---+ 1 root systemd-journal 72M 2018-04-13 18:25:01.967846109 +0800 system@00000000000000000000000000000000-0000000000033800-00056949207ae8a1.journal

-rw-r-x---+ 1 root systemd-journal 72M 2018-04-18 04:12:35.385621922 +0800 system@00000000000000000000000000000000-0000000000045c3e-000569b848f6f86c.journal

查看垃圾文件的方法

未清理前发现硬盘根分区空间告急,用 du -t 100M /var 或 journalctl --disk-usage 命令查看,发现/var/log/journal日志文件占用了近3G空间,每个日志文件体积高达8-128M,这些日志文件记录了很长时间以来的systemd情况,毫无价值,用journalctl --vacuum-size=10M命令将其清理之后,腾出了2.7G的空间。用df命令一查,/根分区果然宽敞了很多。

查看某个目录的文件大小并排序(单位为MB)

du -hm --max-depth=1 /var/ | sort -n

# du -hm --max-depth=1 /var/ | sort -n

1 /var/adm

1 /var/crash

1 /var/db

1 /var/empty

1 /var/games

1 /var/gopher

1 /var/kerberos

1 /var/local

1 /var/nis

1 /var/opt

1 /var/preserve

1 /var/spool

1 /var/tmp

1 /var/yp

131 /var/www

198 /var/lib

486 /var/cache

3695 /var/log

8513 /var/

清空 /var/log/journal 文件的方法

1、用echo命令,将空字符串内容重定向到指定文件中

echo "" > system.journal

说明:此方法只会清空一次,一段时间后还要再次手动清空很麻烦,这里可以用以下命令让journalctl 自动维护空间

2、journalctl 命令自动维护文件大小

1)只保留近一周的日志

journalctl --vacuum-time=1w

2)只保留500MB的日志

journalctl --vacuum-size=500M

3)直接删除 /var/log/journal/ 目录下的日志文件

rm -rf /var/log/journal/f9d400c5e1e8c3a8209e990d887d4ac1

问题与分析解决

执行 journalctl 命令时报错:Error was encountered while opening journal files: Input/output error

# journalctl --vacuum-time=1w

Error was encountered while opening journal files: Input/output error

问题分析:日志文件损坏

解决方法:删除之前的日志,并重启 journalctl 服务

mv journal/f9d400c5e1e8c3a8209e990d887d4ac1 journal/f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122

systemctl restart systemd-journald.service

查看 /var/log/journal/ 日志目录如下:

# ll /var/log/journal/

drwxr-sr-x 2 root systemd-journal 4096 Jan 22 11:26 f9d400c5e1e8c3a8209e990d887d4ac1

drwxr-sr-x+ 2 root systemd-journal 12288 Jan 14 15:37 f9d400c5e1e8c3a8209e990d887d4ac1_bk_20190122

然后,再执行 journalctl 限制日志的命令:

# journalctl --vacuum-time=1w

Vacuuming done, freed 0B of archived journals on disk.

# journalctl --vacuum-size=500M

Vacuuming done, freed 0B of archived journals on disk.

---------------------

作者:阳光岛主

来源:CSDN

原文:https://blog.csdn.net/ithomer/article/details/89530790

版权声明:本文为博主原创文章,转载请附上博文链接!

linux系统log可以删吗,Linux 系统 /var/log/journal/ 垃圾日志清理相关推荐

  1. linux var log目录作用,Linux系统/var/log/journal/垃圾日志清理 - 米扑博客

    CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal # ls -l /etc/logrotate.d/ -rw-r--r-- 1 root root 9 ...

  2. 学习Linux系统清理/var/log/journal/垃圾日志教程

    学习Linux系统清理/var/log/journal/垃圾日志教程 journal介绍 常见的日志文件 查看垃圾文件的方法 清空 /var/log/journal 文件的方法 1.用 echo 命令 ...

  3. Linux 系统垃圾日志清理

    Linux 系统垃圾日志清理 CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal systemd-journald是一个改进型日志管理服务,可以收集来自 ...

  4. linux把root用户删了,linux root用户没法删除文件

    linux文件有用户或用户组权限,即可对文件进行任何操作.但是除了所有者权限,部分文件系统的文件还有扩展属性. 拥有超级权限的用户可以使用chattr的权限增加文件扩展属性,这项指令可改变存放在ext ...

  5. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?

    今天小编要跟大家分享的文章是关于Linux系统中sudo命令介绍.熟悉Linux操作系统的小伙伴们你们是否了解sudo命令.sudo 表示 "superuser do". 它允许已 ...

  6. 位于/var/log目录下的20个Linux日志文件

    位于/var/log目录下的20个Linux日志文件[译] from:http://buptguo.com/2014/01/16/linux-var-log-files/ 原文地址:20 Linux ...

  7. 2. linux的日志文件在哪个目录,位于/var/log目录下的20个Linux日志文件

    如果你多数时间都在使用Linux系统,那么你有必要知道系统的日志文件位于哪里,以及每个日志文件是关于哪些内容的.在系统正常的时候学习理解各种日志文件的内容,有助于在遇到紧急情况时通过日志文件定位问题所 ...

  8. linux 日志 \var\log

    日志存放位置/var/log centos 1./var/log/boot.log 一般包含系统启动时的日志,包括自启动的服务. 2./var/log/btmp 记录所有失败登录信息.非文本文件,可以 ...

  9. Linux/Centos7系统管理之深入理解Linux文件系统与日志分析

    前言:inode(文件节点)与block(数据块)硬链接与软连接恢复误删除的文件 (即rm-rf 的操作,可以先进行备份的操作,然后可以进行恢复ext4和xfs文件系统皆可)日志文件的分类用户日志与程 ...

最新文章

  1. 成本要素区分成本中心
  2. redis 基础操作学习
  3. ASCII码八、十、十六进制对照表
  4. leetcode 12 ,13 Integer to Roman amp;amp;Roman to Integer 罗马与阿拉伯数组转换
  5. 发布composer包到 Packagist,并设置自动同步(从github到Packagist)
  6. 老男孩python课后作业_老男孩python基础知识练习题(一)中
  7. 横屏模式(landscape)下的UIDatePicker
  8. Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解
  9. 使用CrossFTP跨越不同站点复制/移动数据
  10. ORB_SLAM3_一张图说明ORB-SLAM中的ORB特征提取和图像匹配算法流程
  11. delphi ado 连接mysql_delphi mysql ado连接
  12. 计算机显卡怎样安装方法,台式机显卡怎么安装?教您安装方法
  13. 【黑灰产犯罪研究】DDOS攻击
  14. 假币问题详解(枚举的经典例题)
  15. JAVA国际化 - Eason Jiang - 博客园
  16. AUTOCAD——文件管理
  17. 信捷 XDH Ethercat 正负极限的设置
  18. 【MySQL】浅谈MySQL中索引的基本操作以及背后的数据结构
  19. 【Go语言学习】——go 数据结构底层原理
  20. 给Ubuntu系统清理垃圾

热门文章

  1. python股票技术分析库Ta-Lib安装日记(windows 下 talib 安装)
  2. 【测绘程序设计】——空间直角坐标转换
  3. (Java)算法基础6:图/贪心算法(带模板上考场,模板一定滚瓜烂熟解决考场订制)
  4. ANDROID OTA FOTA
  5. DotNetFX40
  6. 项目经理:我是如何进行项目进度管理的
  7. 仿照jQuery进行一些简单的框架封装(欢迎指教~)
  8. MATE9系统升级提示服务器,华为Mate9用ADB调试功能禁用系统更新去右上角提示更新的数字角标1...
  9. 水电表、工控、医用电子设备等超低功耗段码LCD液晶显示驱动IC-VKL144A/B,TSSOP48/QFN48,工作电流<10微安,可完全兼容替代PCF8551、MCP144、BU9792、9B92等
  10. shell 脚本中求一个字符串的长度