我的 GoDaddy Red Hat Fedora Core 7 虚拟专用服务器不再允许我备份 MySQL 数据库,因为它报告容量已满 100%。我删除了文件,但它仍然不会报告低于 100%。更糟糕的是,当服务器已经满了的时候,我无法重新启动它。
我必须使用 SSH 来管理所有这些,而我在这方面并不擅长。所以我用 Google 搜索并尝试了所有这些方法,但我并不完全了解它们以及它们如何解决我的问题。以下是我尝试过的命令列表。如果您对我得到的结果或如何更好地使用它们有疑问,我将不胜感激。
sudo rm -Rf ~/.Trash/*<br>
tune2fs -m 1 /dev/sda3<br>
lsof|grep delete<br>
lsof | grep log$<br>
lsof +L1<br>
我确实使用了这个命令发现这些位置看起来很大,甚至报告的容量大于 10GB。
du -sh ./*
./lib is 1.3gb
./log is 7.6gb
./spool is 1.6gb
./maillog.l is 6.1gb
答案1
如果磁盘使用率达到 100%,删除小文件可能无济于事,因为内存中还有等待写入磁盘的内容。此外,当使用率超过 95% 时,某些内容可能无法写入磁盘,因为这些内容通常只供超级用户使用。
话虽如此,问题的原因很明显——缺乏维护。如果您不担心较旧的日志信息,您应该能够进入日志目录并“rm *gz”(但请先检查)——这应该会删除任何使用 gzip 压缩的旧压缩日志。如果您迫切需要,并且不关心内容,并且上述方法不起作用,(以 root 身份)“rm log/*; systemctl restart rsyslog”将删除日志目录中的所有内容并重新启动日志记录,为您提供相当多的空间。
您同样应该探索 maillog.I 目录,如果这样做是安全的,则删除它。如果您不确定。
也就是说,您所写的一切都表明您不具备在控制台维护 Linux 服务器的技能,并且您应该真正了解 Linux 命令行 - 如果您不了解基础知识,那么您所做的任何事情都可能让您的生活变得更糟。
一旦您掌握了基本的 Linux 技能,就可以使用 logrotate 自动轮换您的日志文件,并加入某种监控系统来检查基本情况(如磁盘空间、CPU 负载),以便在出现危机之前报告。