优化服务器存储空间

一、/var/log/journal 目录

为了识别占用大量空间的目录,请执行以下命令:

du -h --max-depth=1 /var/log

经检查,发现 /var/log/var/cache 目录占用了大量空间。在 /var/log/ 目录内进一步检查后,发现 journal 目录特别大。

为解决此问题,参考了Linux Journal日志文件维护的建议,采取了以下步骤:

  • 实施建议的日志大小限制配置,从而减少了磁盘空间使用量。
  • 进一步探索了日志管理工具 logrotate 的潜在用途,以增强日志管理能力。

二、/var/log/maillog 日志

为了识别目录中的大文件,可以使用 find 命令结合 du

find /var/log/ -type f -size +100M -exec du -h {} +

执行后,发现名为 maillog-* 的大文件。但是,在考虑删除之前,应谨慎操作,以免影响系统操作和邮件活动的监控。

管理 /var/log/maillog-* 的关键步骤和建议包括:

  1. 停止邮件服务(可选): 考虑暂时停止邮件服务以防止新的日志条目。
sudo systemctl stop postfix
  1. 备份: 在进行任何清理操作之前,请确保备份日志文件。
  2. 使用日志轮转: 使用诸如 logrotate 的工具高效管理日志文件。
  3. 手动清理: 如有必要,手动删除旧的日志文件,谨慎操作以避免数据丢失。
  4. 重新启动邮件服务(如果已停止): 在清理后恢复邮件服务。
sudo systemctl start postfix
  1. 或者
sudo systemctl restart postfix

在进行任何清理操作之前,务必深入了解潜在影响并采取预防措施。

三、/var/cache/dnf 缓存目录

分析发现 /var/cache/dnf 中有一个占据 29G 空间的重要文件 gitlab-ce-c658992a4fc8a12b

采取的措施:

  1. 清除所有缓存的软件包:
sudo dnf clean all
  1. 手动删除特定的缓存:
sudo rm -rf /var/cache/dnf/gitlab-ce-*
  1. 定期维护: 定期清理以防止未来的空间拥堵。
  2. 考虑分区策略: 探索分区或逻辑卷管理(LVM)以简化存储管理。

四、下面是 /var/log/ 各个日志文件分析(内容取自网上搜索)

1. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
2. /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
4. /var/log/boot.log — 包含系统启动时的日志。
5. /var/log/daemon.log — 包含各种系统后台守护进程日志信息。
6. /var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。
7. /var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。
8. /var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。
9. /var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。
10. /var/log/user.log — 记录所有等级用户信息的日志。
11. /var/log/Xorg.x.log — 来自X的日志信息。
12. /var/log/alternatives.log – 更新替代信息都记录在这个文件中。
13. /var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
14. /var/log/cups — 涉及所有打印信息的日志。
15. /var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。
16. /var/log/yum.log — 包含使用yum安装的软件包信息。
17. /var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。 
18. /var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。
19. /var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。
20. /var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

除了上述Log文件以外, /var/log还基于系统的具体应用包含以下一些子目录:

/var/log/httpd/或/var/log/apache2 — 包含服务器access_log和error_log信息。
/var/log/lighttpd/ — 包含light HTTPD的access_log和error_log。
/var/log/mail/ – 这个子目录包含邮件服务器的额外日志。
/var/log/prelink/ — 包含.so文件被prelink修改的信息。
/var/log/audit/ — 包含被 Linux audit daemon储存的信息。
/var/log/samba/ – 包含由samba存储的信息。
/var/log/sa/ — 包含每日由sysstat软件包收集的sar文件。
/var/log/sssd/ – 用于守护进程安全服务。