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


46

我刚从默认的磁盘分析软件(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中大声疾呼?

Answers:


39

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

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

这些压缩的日志文件是旧日志,压缩后可以减少存储空间,并且作为一般用户,您不需要它们。

选择.gz扩展


7
找到/ var / log -type f -name“ * .gz” -exec rm -f {} \;
diyism 2013年

@diyism我尝试了您的代码,但没有太大帮助。我的日志目录仍使用6GB空间@ _ @
GusDeCooL 2014年

1
find /var/log -type f -name "*.gz" -delete,我删除了压缩文件,只释放了大约1 GB的空间。50 GB的空间还不够用于/目录和磁盘的其余部分/home
Muhammad Gelbana'2

我母亲的电脑有一个大小为21 GB 的kern.log文件。一个较大的kern.log表示Linux内核本身有问题,或者在处理中遇到了问题。在这两种情况下,建议都转到Linux Shell终端并运行cat /var/log/kern.lognano /var/log/kern.log(在GUI上运行,例如eg gedit /var/log/kern.logmousepad /var/log/kern.log),然后检查可能是什么问题。一旦找出问题所在,便可以运行sudo rm /var/log/kern.log ; sudo telinit 6以删除此类(大)文件并重新启动操作系统。
Yuri Sucupira

就我而言,这将仅删除15.7 MB的41个文件。这里的实际问题是messages(7.7 GB),user.log(7.7 GB),syslog(4.1 GB)和syslog.1(3.5 GB)。这四个文件总计23 GB。有什么方法可以删除它们,或者至少减小它们的大小?
罗德里戈

32

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

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

最好是找出为什么不旋转日志(以后再删除)的原因。logrotate应该为您执行此操作,我怀疑它不是每天晚上都应该运行。

我要做的第一件事是:

sudo /etc/cron.daily/logrotate

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

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


17

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

ufw-记录所有数据包时,将获得大量日志。如果您不打算查看日志,请关闭日志记录。如果要监视网络,请使用snort。Snort会过滤掉您收到的数千个数据包,并提醒您潜在的流量问题。

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

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

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

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

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


2
这是非常好的一点。值得找出阻塞日志的原因,而不仅仅是删除它们。+1。
richvdh 2012年

6

删除/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在启动时将其解压缩以创建所有需要的目录并一次设置所有权限。)


1
ufw是个问题,显然我将日志记录设置为FULL,因此它注销了所有内容。感谢您的帮助:)
blade19899
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.