磁盘服务器已满时如何释放磁盘空间?(重启后会自动清空)

磁盘服务器已满时如何释放磁盘空间?(重启后会自动清空)

每 N 天,我的服务就会停止,因为服务器已满(尤其是 mysql 服务,因此网站瘫痪)

df
Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/md/1             10403064   9875912      2868 100% /
udev                  16421232       240  16420992   1% /dev
/dev/md/2            105366664  17734884  82321576  18% /home
shm                   16421232         0  16421232   0% /dev/shm

我清理了所有能清理的东西(tmps 文件、日志等...),它仍然是 100%

重启后,

df
Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/md/1             10403064   3185652   6693128  33% /
udev                  16421232       240  16420992   1% /dev
/dev/md/2            105366664  17735408  82321052  18% /home
shm                   16421232         0  16421232   0% /dev/shm

一切都好

有没有我可以设置的 CRON 表?或者安全地移动 mysql 服务器?或者清理一些锁定的文件?

答案1

您需要确定是什么填满了您的磁盘,并采取适当的措施来解决该问题。

假设您删除了日志文件等,但问题仍然存在,并且重新启动可以解决问题,我的猜测是;

您有一个已被删除的日志文件,但是写入该文件的守护进程不知道这一点,因此它会继续写入文件描述符 (fd)。

您应该能够使用以下方法找到该文件

lsof +L1

当您知道文件的名称时,您应该能够找出相关的守护进程。

一旦知道了守护进程,就应该能够解决问题。通常你应该日志旋转管理守护进程的日志文件。它有多种技术用于向守护进程发出信号以关闭/重新打开或复制/截断日志文件

答案2

如果文件被任何活动进程使用,则不会删除它们(尽管看起来是这样)。因此尝试删除文件重新启动mysql服务器和 Web 服务。

相关内容