- Published on
记服务器磁盘空间不够解决思路
- Authors
- Name
- Darwin Stone
- @dustred233
1. 问题背景
df -h
发现磁盘空间满了。
2. 解决思路
使用 du -sh * | sort -rh | head -10
找到空间占用大的目录或文件,查看问题原因。
2.1 可能的原因
- 程序运行一直报错导致日志文件过大
- 项目数量多导致日志文件数量大;
2.2 解决方案
- 程序问题,查看日志修复Bug即可解决。
- 日志文件数量大,解决方案是挂载新的磁盘。
- 将原目录复制到新目录下:
cp -r /data/logs /new_data
- 权限设置:`chown -R www:www /new_data/logs
- 删除原目录:
rm -rf /data/logs
- 添加软连接:
ln -s /new_data/logs /data/logs
- 将原目录复制到新目录下:
3. 可能的问题
在删除目录到创建软连接的过程中,很大可能会有数据丢失。 如果是频繁更新的重要数据文件目录的话,上述方法是不可取的。
为了数据的完整性,可用以下流程:
- 添加软连接:
ln -s /data/logs /new_data/logs
- Nginx日志重定向写入:
sed -i
"s/oldString/newString/g"
`grep oldString -rl /path`
- 将原目录移动到新的数据盘:`mv /data/logs /new_data/logs_old
- 创建新的软连接:
ln -s /new_data/logs_old /data/logs
- 还原Nginx配置:
sed -i
"s/oldString/newString/g"
`grep oldString -rl /path`
- (可选)删除多余软连接:`rm -f /new_data/logs