由于系统日志文件太大,根分区磁盘空间不足

由于系统日志文件太大,根分区磁盘空间不足

使用 rsync 备份整个驱动器时会发生这种情况。我正在尝试同步两个大硬盘作为备份,并且我的操作完全按照此处使用 Grsync GUI 进行描述。在执行此操作时,我收到以下 KDE 通知:

Low Disk Space
Your Root partition is running out of disk space, you have 0 MiB remaining (0%). 

这个问题似乎与运行备份有关,因为我很少遇到日志文件太大的问题。

->如何防止日志文件变得太大而导致根分区满载?至少在备份运行期间是这样。

例如,如何防止它一遍又一遍地记录相同的消息,而不是仅仅迭代计数器或以更有意义、有用和系统的方式注册重复的消息?


您可能不需要阅读下面的详细信息。

我通过以下方式解决了这个问题:

  • 运行应用程序“图形磁盘地图”来找出是什么占用了所有这些磁盘空间
  • 发现这三个文件位于/var/log/: syslog, kern.log, 和messages
  • 像这样备份日志文件:sudo cp /var/log/syslog /externalBackupFolder/syslog
  • 清空巨大的日志文件,如下所示:sudo truncate -s 0 /var/log/syslog

也许这太详细了,或者应该是一个单独的问题,但一遍又一遍地出现的错误主要是这些(也许这与我的问题有关,只是简单地有一个Debian 上的工作时钟):

kernel: [id] usb 1-11: 1:1: cannot get freq (v2/v3): err -71
kernel: [id] usb 1-11: 1:1: cannot set freq 48000 (v2/v3): err -71
kernel: [id] usb 1-11: uac_clock_source_is_valid(): cannot get clock validity for id 40
kernel: [id] usb 1-11: clock source 40 is not valid, cannot use
kernel: [id] usb 1-11: 1:1: cannot get freq (v2/v3): err -71
...

中间有几个块有许多重复的消息

pulseaudio[id]: Failed to set hardware parameters: Protocol error

在日志文件的较新部分中,主文件内容变成了以下错误:

postfix/pickup[id]: id1: uid=0 from=<root>
postfix/cleanup[id]: id1: message-id=<id0.id1@hostname>
postfix/cleanup[id]: warning: id1: write queue file: No space left on device
postfix/pickup[id]: warning: maildrop/id3: error writing id1: queue file write error

答案1

您是否使用 logrotate 维护/删除日志?如果没有,建议您尝试这样做以管理磁盘空间问题文件。

答案2

另一个建议是更改系统日志配置文件,以便:

  1. 更改记录错误级别及以上级别的日志消息
  2. 查找该特定级别上的特定流动消息的类别

如果进行更改,您必须重新启动 syslog 服务。

另一项建议是:您已经有多久没有对系统磁盘进行完整的 fsck 了。假设 ext3/4 (sudo touch /forcefsck) 在其他文件系统上有一些方法可以在下次重新启动时强制执行 fsck。有时隐藏的碎片会放置在那里并会占用相当大的空间。

相关内容