不久前,我购买了一个运行 cloudlinux 的小型云服务器。我意识到我的磁盘空间已满,因此我运行了一个命令来查看哪些文件夹或文件占用了最多的空间,以下是列表:
1.1G /usr/tmpDSK
447M /var/log/btmp-20200401
298M /var/log/btmp
273M /var/log/chkservd.log
141M /var/log/secure-20200329
138M /var/log/secure-20200406
124M /var/log/secure-20200419
我对 Linux 的了解还不够多,所以我不知道是否可以在不导致系统出现任何问题的情况下更改其中一些文件。我应该这样做吗,还是在其他地方寻找磁盘已满的原因?
答案1
是否可以删除文件取决于使用该文件的应用程序。因此没有通用的答案。您选择的搜索引擎应该会告诉您哪个服务正在写入某个文件。
但一般来说(并非没有例外,例如 Postgres)您可以删除 /var/log 中的所有内容。
如果您不确定,那么您可以使用它stat
来检查上次读取(atime)和写入(access)时间,并fuser
检查文件当前是否被任何进程打开。
答案2
您遇到的问题相当常见。[玫瑰托管]
磁盘使用情况分析。
有多种方法可以分析磁盘使用情况。如果您想查看磁盘使用情况,请查看以下主题:
df -h
du -sh ./*
- 您可以安装一个特殊的工具,称为
ncdu
。
日志轮换。
好主意配置 logrotate。调试当前日志轮换。 如果你有
journalctl
,申请vacuuming
。
您可以删除旧文件,但要小心。这可能会降低取证的可能性,甚至会破坏您的系统。此外,它不会解决根本原因。