linux系列之-—08 磁盘空间查询&&解决“磁盘空间不足”的问题
一、linux 系统查看剩余空间大小
用两个命令df 、du结合,可以直观快速的定位哪个分区满了,大文件在哪个位置
- 查看整台服务器的硬盘使用情况
df -h - 查看当前目录下一级子文件和子目录占用的磁盘容量。
du -lh --max-depth=1 :
#应用之 ---- Linux 系统查找大文件或目录的技巧
du -sh [dirname|filename]
//当前目录的大小:
du -sh .
//当前目录下个文件或目录的大小:
du -sh *
//显示前10个占用空间最大的文件或目录:
du -s * | sort -nr | head
//-s选项 对于指定目录,详细显示其下每个子目录或文件的大小
二、linux 系统删除文件或者目录
-
删除文件:rm -f
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。 -
删除目录: rmdir /data/ 或者 rm -rf /data/
#应用之 ---- 删除指定目录下部分文件
#描述: 在/data/目录下有a.txt b.txt c.txt d.txt 四个文件,如何删除/data/目录下acd三个文件,保留b.txt
//方法1:
find /data/ -type f ! -name "b.txt"|xargs rm -f
//方法2:
find /data/ -type f ! -name "b.txt" -exec rm -f {} \;
//以上f表示文件类型,若是表示目录类型则是d
三、解决Linux系统 中 “磁盘空间不足" 的问题
如果发现 du 和 df 的结果之间有差别,那么可以直接检查第一项原因。否则从第二项原因开始检查
-
已删除文件被进程所占用
-lsof | grep deleted -
Linux系统删日志
echo '=======删除7天前日志======='
find $CachePath/logs -mtime +7 -name "*.*" -exec rm -rf {} \;
echo '=======删除大于10G的日志======='
find $CachePath/logs -size +10G -name "*.*" -exec rm -rf {} \;
- 应用正在运行期间,服务器上的.out日志文件,使用 rm -rf 命令无法直接删除。用下面这个命令,将app.out日志文件替换为空字符串就行了
echo "" > app.out
#应用之 ----
【Quality】
Quality is the value to someone who matters。做测试,首先要找到这个someone是谁,以及这个 someone重视的 value是什么。