百度
360搜索
搜狗搜索

Linux Centos /var/log 日志文件详解及清除方法详细介绍

Linux 系统也会在使用很长一段时间后出现硬盘空间开始不够的情况,而这并不一定是正常使用的文件占用,而是像 Windows 系统一样,在系统的运行和使用中会出现垃圾日志,就像 CentOS 系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal 就会自动生成一些系统日志,久而久之就造成了服务器存储空间的浪费。

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

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

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

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

常见的日志文件如下:

/var/log/messages      绝大多数的系统日志都记录到该文件
/var/log/secure          所有跟安全和认证授权等日志都会记录到此文件
/var/log/maillog       邮件服务的日志
/var/log/cron             crond 计划任务的日志
/var/log/boot.log       系统启动的相关日志

查看垃圾文件的方法

未清理前发现硬盘根分区空间告急,用 du -t 100M /var/log/ 或 journalctl –disk-usage 命令查看。

最近子凡发现我们泪雪网服务器的/var/log/journal 日志文件占用了 4G 空间,每个日志文件体积在 8-128M 左右,这些日志文件记录了很长时间以来的 systemd 情况,对于我们实际的来说没有任何价值。

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

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

<span class="hljs-built_in">echo</span> <span class="hljs-string">""</span> &gt; system.journal

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

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

1)只保留近一周的日志

journalctl --vacuum-time=1w

2)只保留 500MB 的日志

journalctl --vacuum-size=500M

定时清理命令

以为例,打开计划任务

选择shell脚本,输入

rm -rf /var/log/maillog rm -rf /var/log/maillog*

问题与分析解决

如果执行 journalctl –vacuum-time=1w 命令时报错:Error was encountered while opening journal files: Input/output error 则表示日志文件损坏。

解决方法:删除之前的日志,并使用 systemctl restart systemd-journald.service 命令重启 journalctl 服务即可。

,

网站数据信息

"Linux Centos /var/log 日志文件详解及清除方法"浏览人数已经达到48次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:Linux Centos /var/log 日志文件详解及清除方法的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!