记du与df统计数据不一致的操作
有的时候,会发现du和df统计出来的数据不一致。 有时候是因为du统计的是文件大小,而df统计的是磁盘空间。
有的时候是因为文件已经删掉了,但是磁盘空间没有被释放。因此需要释放磁盘空间。
解决办法:
# 查看被删除的文件占用磁盘空间
lsof | grep deleted
# 释放磁盘空间
echo "" > 已删除的文件
但这里已删除的文件可能有很多,最好是写一个脚本,遍历所有已删除的文件。
cat clear_delete_file.sh
#!/bin/bash
# 获取所有被删除但仍然被打开的文件路径
paths=$(lsof | grep delete | grep -v jar | grep -v dev | awk '{print $10}')
for path in $paths; do
echo "Attempting to clear file: $path"
echo "" > "$path"
if [ $? -eq 0 ]; then
echo "Successfully cleared (or attempted to clear) $path"
else
echo "Failed to clear $path"
fi
done
sh clear_delete_file.sh
评论区