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

bla*_*899 77 logging disk-usage

我刚从默认的磁盘分析软件 (Baobab) 收到一条消息,说我的硬盘上只剩下 1GB 了。经过一番搜索,我发现该/var/log/文件夹是导致此问题的原因。

中的一些文件/大小/var/log/

  • 内核.log = 12.6 GB
  • ufw.log = 12.5 GB
  • 内核.log.1 = 6.1 GB
  • ufw.log.1 = 6.0 GB

等等等等等等。/var/log很大。

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

Sal*_*min 55

您不能删除整个文件夹,可以删除“旧打包”日志文件而不会损害您的系统。

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

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

选择 .gz 扩展名

  • find /var/log -type f -name "*.gz" -exec rm -f {} \; (13认同)
  • `find /var/log -type f -name "*.gz" -delete`,我删除了压缩文件,只释放了大约 1 GB 的空间。50 GB 不够用于`/` 目录和用于`/home` 的其余磁盘! (4认同)
  • 就我而言,这将仅删除 15.7 MB 的 41 个文件。这里真正的问题是`messages`(7.7 GB)、`user.log`(7.7 GB)、`syslog`(4.1 GB)和`syslog.1`(3.5 GB)。这四个文件总和为 23 GB。有什么办法可以去除它们,或者至少减小它们的尺寸? (2认同)

ric*_*vdh 38

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

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

最好找出日志没有被轮换(然后被删除)的原因。logrotate应该为你做这件事,我怀疑它没有像它应该的那样每晚运行。

我会做的第一件事是:

sudo /etc/cron.daily/logrotate
Run Code Online (Sandbox Code Playgroud)

应该轮换日志文件(因此 kern.log 变为 kern.log.1);然后您可以删除 kern.log.1 等以释放磁盘空间。

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

  • 我使用“logrotate -vf /etc/logrotate.conf”手动轮换日志。来源:https://www.linuxnix.com/how-to-rotate-logs-manually-in-linux/ (5认同)

Pan*_*her 19

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

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

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

有时会出现填满日志的内核或硬件问题。在这种情况下,最好修复问题或提交错误,您需要查看日志才能做到这一点。

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

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

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

  • 这是一个很好的观点。值得找出是什么阻塞了日志,而不仅仅是删除它们。+1。 (2认同)

Ilm*_*nen 8

删除/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
Run Code Online (Sandbox Code Playgroud)

这意味着这些目录中的任何内容都不会在重新启动后幸存下来。据我所知,这个设置工作得很好。当然,我无法查看旧日志来诊断可能发生的任何问题,但我认为这是减少磁盘使用量的公平权衡。

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

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


eld*_*d-a 7

免责声明:我不是这方面的专家,使用风险自负!

在发现我的/var/log/journal文件夹占用了几个 GB 后,我遵循:

https://ma.ttias.be/clear-systemd-journal/

journalctl --vacuum-time=10d
Run Code Online (Sandbox Code Playgroud)

清除了 90%+


小智 6

我遇到了巨大的日志文件(例如每个 100G),并且有一些来自 gnome 的无用消息“找不到视频缓冲区”或其他问题。正在做:

sudo rm -rf /var/log/user.log sudo rm -rf /var/log/syslog sudo rm -rf /var/log/messages

没有解决问题,而是systemctl restart syslog.service 在释放这些文件使用的空间后立即执行 。