gpt4 book ai didi

Ubuntu:大型 syslog 和 kern.log 文件

转载 作者:行者123 更新时间:2023-12-03 14:30:45 29 4
gpt4 key购买 nike

登录到我的 Ubuntu 机器,我收到一条警告说我的磁盘空间不足。回溯,我发现是系统日志,尤其是 kern.log(s) 占用了我的 1TB 磁盘。

-rw-r----- 1 syslog adm 240G Feb 25 14:22 kern.log
-rw-r----- 1 syslog adm 516G Feb 21 07:59 kern.log.1
-rw-r----- 1 syslog adm 1.1K Feb 15 07:39 kern.log.2.gz
-rw-r----- 1 syslog adm 19K Feb 7 07:56 kern.log.3.gz
-rw-r----- 1 syslog adm 37K Feb 1 07:45 kern.log.4.gz
-rw-r----- 1 syslog adm 23G Feb 25 14:52 syslog
-rw-r----- 1 syslog adm 25G Feb 25 08:11 syslog.1
-rw-r----- 1 syslog adm 1.6G Feb 24 07:49 syslog.2.gz
-rw-r----- 1 syslog adm 1.7G Feb 23 08:18 syslog.3.gz
-rw-r----- 1 syslog adm 3.4G Feb 22 08:19 syslog.4.gz
-rw-r----- 1 syslog adm 3.6G Feb 21 07:59 syslog.5.gz
-rw-r----- 1 syslog adm 6.9G Feb 20 07:38 syslog.6.gz
-rw-r----- 1 syslog adm 7.3G Feb 19 07:36 syslog.7.gz

从上面的代码片段中,您可以很容易地发现 kern.log 和 kern.log.1 占用了我 1TB 磁盘的 80%。我可以通过删除文件来获得空间,但我认为它不会解决问题。

有谁知道问题可能是什么?
我看到您可以通过以下方式获取日志记录级别:
cat /proc/sys/kernel/printk

我得到
4    4    1    7

最佳答案

这是一个老问题,但前两个答案都不是好的解决方案:

  • 接受的答案并不能解释为什么如果您修复底层系统问题(答案是 logrotate )磁盘问题会消失,而且您的系统可能会继续写入日志并填满您的磁盘,然后您才能弄清楚根本问题。
  • 另一个答案完全删除并禁用了日志,这不是一个好方法,因为它忽略了根本问题。此外,稍后当您解决其他系统问题时,您可能会需要这些日志文件——禁用 syslog。使追踪 future 问题变得更加困难!

  • 相反,这是一种更安全的方法,可让您在回收磁盘空间的同时保留日志文件,同时阻止日志文件再次执行此操作。
  • 安全清除日志:查看(或备份)日志以确定系统问题后,键入 > /var/log/syslog 清除它们(包括 > )。您可能需要成为 root 用户,在这种情况下输入 sudo su ,您的密码,然后是上述命令)。
  • 然后重新启动 syslog 服务(systemctl restart syslogservice syslog restart )。
  • 然后,您可以使用 logrotate 强制日志在达到一定大小时自动轮换和删除。 .在这种情况下,您可以使用 sudo nano /etc/logrotate.d/rsyslog 编辑配置。并添加一行:
  • /var/log/syslog
    {
    rotate 7
    daily
    maxsize 1G # add this line
    missingok
    notifempty
    delaycompress
    compress
    postrotate
    /usr/lib/rsyslog/rsyslog-rotate
    endscript
    }
  • 这将强制您的 syslog在 1 天后或文件变为 1GB 时(以先到者为准)“轮换”(即,创建新的日志文件并存档先前的日志文件)。请注意 rotate 7意味着您的系统将只保留总共 7 个 syslog备份,因此它只能占用 7GB 的空间
  • 注意:您可以更改maxsize , rotate N , 和其他设置来自定义您的日志——使用命令 man logrotate看到更多。
  • 在此过程中,您可能希望在文件的第二部分添加相同的设置,该设置控制其他日志文件的行为(例如,kern.log 用于内核事件,auth.log 用于身份验证事件等) .此设置将使这些其他日志文件中的每一个总共只占用 4GB。:
  • ...
    {
    rotate 4
    weekly
    maxsize 1G
    ...
    }
    这将允许您的系统在不填满磁盘的情况下继续记录事件。
    有关更多信息,请参阅 manualsimilar question .

    关于Ubuntu:大型 syslog 和 kern.log 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35638219/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com