实际上 Linux 系统都有这个目录,也算是垃圾文件吧!占空间也会很大!基本都是一些二进制文件日志。
systemd-journald 是一个改进型日志管理服务 ,主要是收集内核、系统早期启动阶段日志、系统守护进程启动和运行中的标准输出和错误信息,还有就是syslog日志。
systemd-journal 日志服务会保存到/var/log中,并且是二进制方式保存。
Linux默认配置是保留一个月的日志文件 。
查看垃圾文件的方法
未清理前发现硬盘根分区空间告急,用 du -t 100M /var
或 journalctl --disk-usage
命令查看
# du -t 100M /var/log/
3604336 /var/log/journal/f0f31005fb5a436d88e3c6cbf54e25aa
3604344 /var/log/journal
5291552 /var/log/
#
# journalctl --disk-usage
Archived and active journals take up 1.1G on disk.
发现/var/log/journal日志文件占用了近3G空间,每个日志文件体积高达8-128M,这些日志文件记录了很长时间以来的systemd情况,毫无价值,
用 journalctl --vacuum-size=10M
命令将其清理之后,腾出了2.7G的空间。
用df
命令一查,根目录下空余存储多了很多。
清空 /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/*
问题与分析解决
执行 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.
社区声明
1、本站提供的一切软件、教程和内容信息仅限用于学习和研究目的
2、本站资源为用户分享 ,如有侵权请邮件与我们联系处理 敬请谅解!
3、本站信息来自网络,版权争议与本站无关。您必须在下载后的24小时之内,从您的电脑或手机中彻底删除上述内容