当前位置: 首页>>技术问答>>正文


如何从庞大的39.5GB/var/log/文件夹中释放空间?

, ,

问题描述

我刚收到默认磁盘分析软件(Baobab)的消息,我只剩下1GB硬盘。经过一番搜索,我发现/var/log/文件夹就是这个原因。

/var/log/中的某些文件/大小:

  • kern.log = 12.6 GB

  • ufw.log = 12.5 GB

  • kern.log.1 = 6.1 GB

  • ufw.log.1 = 6.0 GB

等等。 /var/log非常庞大。

我可以删除这些文件或整个/var/log文件夹吗?或者在Ubuntu中是否是一个大不了?

最佳解决思路

您不能删除整个文件夹,但可以删除”Old-Packed”日志文件而不会损害您的系统。

对于典型的家庭用户,可以安全地删除任何压缩的日志文件并具有.gz扩展名(如图所示)。

这些压缩日志文件是经过压缩的旧日志,以减少存储空间,而作为普通用户,您不需要它们。

disk-usage,logging,ubuntu

次佳解决思路

我不会删除整个/var /log文件夹 – 这将破坏事情。

您可以像@jrg建议的那样销毁日志 – 但除非写入日志文件(主要是syslogd)的内容重新启动,实际上不会重新获得任何磁盘空间,因为文件将继续以删除状态存在,直到文件句柄已关闭。

更好的是找出原因未被轮换(以后删除)的原因。 logrotate应该为你做这件事,我怀疑它不是每晚都应该运行。

我要做的第一件事就是:

sudo /etc/cron.daily/logrotate

这应该旋转日志文件(所以kern.log变成kern.log.1);然后你可以删除kern.log.1等来释放磁盘空间。

如果到目前为止一切顺利,下一个问题是为什么这不会自动发生。如果您在晚上关闭计算机,请确保已安装anacron

第三种解决思路

您应该查看日志并查看写入内容的内容。我的猜测是ufw /iptables(您正在记录所有网络流量)。

ufw – 当您记录所有数据包时,您将获得大型日志。如果您不打算查看日志,请关闭注销。如果您希望监控网络,请使用snort。 Snort将过滤您收到的数千个数据包,并提醒您可能存在问题的流量。

我猜是ufw是罪魁祸首,你在kern.log中获得一个大的日志,因为你也在那里记录数据包。

有时会出现填充日志的内核或硬件问题。在这种情况下,最好修复问题或提交错误,您需要查看日志才能执行此操作。

如果无法解决问题,可以将syslog配置为不填充日志。

请参阅http://manpages.ubuntu.com/manpages/precise/man5/syslog.conf.5.html

如果您提供有关问题的更多详细信息,我们可以帮助您更好地调试它

第四种思路

删除/var/log可能是一个坏主意,但删除单个日志文件应该没问题。

在我的笔记本电脑上,使用小型SSD磁盘,我将/var/log(和/tmp/var/tmp)设置为tmpfs挂载点,方法是在/etc/fstab中添加以下行:

temp        /tmp        tmpfs   rw,mode=1777    0   0
vartmp      /var/tmp    tmpfs   rw,mode=1777    0   0
varlog      /var/log    tmpfs   rw,mode=1777    0   0

这意味着这些目录中的任何内容都无法重启。据我所知,这个设置工作正常。当然,我失去了查看旧日志以诊断可能发生的任何问题的能力,但我认为这是减少磁盘使用量的公平权衡。

我遇到的唯一问题是某些程序(最明显的是APT)想要将其日志写入/var/log的子目录中,并且如果它们不存在则不够智能创建这些目录。将mkdir /var/log/apt行添加到/etc/rc.local中为我解决了这个特殊问题;根据您安装的软件,您可能还需要创建一些其他目录。

(另一种可能性是创建一个只包含目录的简单tar存档,并在启动时将其解压缩到/var/log中以创建所有需要的目录并同时设置它们的权限。)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1762.html,未经允许,请勿转载。