{siteMetadata.headerTitle}
Published on

记服务器磁盘空间不够解决思路

Authors

1. 问题背景

df -h 发现磁盘空间满了。

2. 解决思路

使用 du -sh * | sort -rh | head -10 找到空间占用大的目录或文件,查看问题原因。

2.1 可能的原因

  • 程序运行一直报错导致日志文件过大
  • 项目数量多导致日志文件数量大;

2.2 解决方案

  • 程序问题,查看日志修复Bug即可解决。
  • 日志文件数量大,解决方案是挂载新的磁盘。
    1. 将原目录复制到新目录下: cp -r /data/logs /new_data
    2. 权限设置:`chown -R www:www /new_data/logs
    3. 删除原目录:rm -rf /data/logs
    4. 添加软连接:ln -s /new_data/logs /data/logs

3. 可能的问题

在删除目录到创建软连接的过程中,很大可能会有数据丢失。 如果是频繁更新的重要数据文件目录的话,上述方法是不可取的。

为了数据的完整性,可用以下流程:

  1. 添加软连接:ln -s /data/logs /new_data/logs
  2. Nginx日志重定向写入: sed -i "s/oldString/newString/g" `grep oldString -rl /path`
  3. 将原目录移动到新的数据盘:`mv /data/logs /new_data/logs_old
  4. 创建新的软连接:ln -s /new_data/logs_old /data/logs
  5. 还原Nginx配置:sed -i "s/oldString/newString/g" `grep oldString -rl /path`
  6. (可选)删除多余软连接:`rm -f /new_data/logs