文件系统满的话(filesystem full),该如何处理。(du and ls)
因为filehome 上小文件过多,所以du –sh * 过滤掉 filehome
du -sh /* --exclude="filehome"
1.1G /backup
7.8M /bin
6.8M /boot
#!/bin/bash
function ergodic(){
for file in `ls $`
do
if [ -d $"/"$file ]
then
ergodic $"/"$file
else
local path=$"/"$file
local name=$file
local size=`du --max-depth= $path|awk '{print $1}'`
echo $name $size $path
echo $size $name $path >> /tmp/file.txt
fi
done
} IFS=$'\n' #done
INIT_PATH=".";
ergodic $INIT_PATH sort -n /tmp/file.txt ####### 文件系统满的话,该如何处理。 .使用以上shell(file.sh)处理
.检查文件总大小是否小于df -k 的占用量,也就说明 进程没来得及释放日志文件,导致日志文件虽然被删除,但是进程仍然hold 空间
详细请见:(http://www.cnblogs.com/feiyun8616/p/6132670.html)
看到/tmp oracle:dba 目录/tmp/rda 消耗较高,总和小于df -k显示的占用量,看到有oracle 进程占用/tmp.怀疑是清理了空间后进程未释放空间,需要进一步确认
方法如下:
step1: From time to time the du command doesn’t match up with df. This is due to deleted but ‘still open’ file usage
lsof | awk '/deleted/ {sum+=$7} END {print sum}'
step 2: (check $2 is pid, manaul to kill the process)
lsof | grep deleted
(COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME)
for ksh #for ksh
#!/bin/bash
function ergodic {
for file in `ls $`
do
if [ -d $"/"$file ]
then
# echo $file
ergodic $"/"$file
else
# echo $
# echo $file
local path=$"/"$file
local name=$file
local size=`du -sk $path|awk '{print $1}'`
# echo $name $size $path
echo $size $name $path >> /tmp/file.txt
fi
done
} #IFS=$'\n' #done
INIT_PATH="/11_restore";
#echo $INIT_PATH
ergodic $INIT_PATH sort -n /tmp/file.txt
3.监控脚本本身异常 导致系统 误报。
大量未删除的文件 导致 脚本无法连接数据库,写入日志,出现如下提示。
[root@yidbmon1 ~]# /usr/sbin/lsof |grep home
bash 6623 oracle cwd DIR 253,8 12288 131223 /home/oracle/utility/macro
tnslsnr 6940 oracle cwd DIR 253,8 4096 131073 /home/oracle
bash 9990 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
bash 9990 oracle 254r REG 253,8 3493 143496 /home/oracle/11/osw_sort_11pr.sh
bash 9992 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
tee 9993 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
sh 11637 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
sh 11637 oracle 1w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
sh 11637 oracle 2w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
sh 11637 oracle 255r REG 253,8 3493 143496 /home/oracle/11/osw_sort_11pr.sh
sh 11639 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
sh 11639 oracle 2w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
tee 11640 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
tee 11640 oracle 1w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
tee 11640 oracle 2w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
bash 20767 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
bash 20767 oracle 254r REG 253,8 2648 143598 /home/oracle/11/osw_sort_edrprod.sh
bash 20769 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
tee 20770 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
bash 21678 oracle cwd DIR 253,8 4096 2 /home
se.sh 23010 oracle cwd DIR 253,8 4096 142968 /home/oracle/monitor/ngtools/se
se.sh 23010 oracle 11r REG 253,8 2635 139902 /home/oracle/monitor/ngtools/se/se.sh
se.sh 23010 oracle 12r DIR 253,8 4096 142968 /home/oracle/monitor/ngtools/se
sh 26763 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26839 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26855 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26871 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26887 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26903 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26919 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26935 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26951 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26967 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 26983 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29049 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29065 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29081 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29097 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29113 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29129 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29145 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29161 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29177 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29193 oracle cwd DIR 253,8 4096 131073 /home/oracle
sh 29209 oracle cwd DIR 253,8 4096 131073 /home/oracle
sleep 29934 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
sleep 29934 oracle 2w REG 253,8 1994113024 147308 /home/oracle/11/nohup.out (deleted)
sleep 29957 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
sleep 29988 oracle cwd DIR 253,8 4096 131099 /home/oracle/11
文件系统满的话(filesystem full),该如何处理。(du and ls)的更多相关文章
- 文件系统满的话(filesystem full),该如何处理。
#!/bin/bash function ergodic(){ ` do "/"$file ] then ergodic $"/"$file else loca ...
- db2 load报文件系统满
使用db2 load导入数据 数据量比较大时常常会报文件系统已满错误. 原因分析:导入表建有索引,在load的“索引复制”阶段会从系统临时表空间拷贝到目标表空间,导致系统临时表空间所在的文件系统满,l ...
- 转 由一次磁盘告警引发的血案:du 和 ls 的区别
如果你完全不明白或者完全明白图片含义, 那么你不用继续往下看了. 否则, 这篇文章也许正是你需要的. 背景 确切地说,不是收到的自动告警短信或者邮件告诉我某机器上的磁盘满了,而是某同学人肉发现该机器写 ...
- linux du与ls查看文件大小时的区别
du和ls查看文件大小的区别 du == disk usage (磁盘使用量,占用的磁盘空间)du 的基本使用du -s #s参数是可以统计占硬盘空间大小的如 du -skh web-k或-- ...
- Linux的磁盘系统和文件系统显示的文件大小为什么不一样(du指令和ls指令的区别)
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- Hadoop HDFS文件系统通过java FileSystem 实现上传下载等
package linlintest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException ...
- Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)
Linux FHS_2.3标准文档:http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf
- Linux下查看文件或文件夹大小的命令df 、du、ls
转自:http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的 ...
- du和ls的区别:如何正确计算文件大小
上一篇文章写到的权限检查脚本,后来我又加入了 apk size 对比的功能,分享给组内同事使用后,暴露出一个问题:脚本输出的 apk size 和 Jenkins 出包信息以及电脑上显示的存储大小都有 ...
随机推荐
- IronPython+Anthem.Net也玩 Ajax!
在 IronPython 搭建的项目中(也可以是和 C# 的混合项目,详见我前一篇 post),可以使用 Anthem.NET 来轻松实现 Ajax 功能. 下面我简单的演示一个例子:在页面上我们分别 ...
- Python selenium 三种等待方法
1. 强制等待 sleep(xx) 是最简单粗暴的一种办法,不管你浏览器是否加载完了,程序都得等待3秒,3秒一到,继续执行下面的代码,作为调试很有用,不建议总用这种等待方式,严重影响程序执行速度. 代 ...
- MyBatis构建sql时动态传入表名以及字段名
今天项目需要用到动态表名,找到这一篇文章,亲测可用 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用过.比如其内置的注解功能之类的 ...
- 代码 c++实现动态栈
//============================================================================ // Name : 栈.cpp // Au ...
- df查看分区使用情况
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计.语法 df [选项]... [FILE]... -a, --all 包含所有的具有 0 Blocks 的文件系统 ...
- 一款Regular expression在线检测工具
记录下我自己使用的一款正则表达式使用工具 https://regex101.com/ 输入正则表达式后,可以在下面的“TEST STRING”中来测试对应的字符串是否满足该正则表达式 个人觉得非常好用
- 7.26实习培训日志-Oracle SQL(二)
Oracle SQL(二) 条件表达式 CASE 语句 或者DECODE 函数,两者均可实现 IF-THEN-ELSE 的逻辑,相比较而言,DECODE 更加简洁 SELECT last_name , ...
- HDU 5245 Joyful (期望)
题意:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入). 析:我们可以先求出每个格子的期望,然后再加起来即可.我 ...
- ZOJ 3946 Highway Project (最短路)
题意:单源最短路,给你一些路,给你这些路的长度,给你修这些路的话费,求最短路和最小花费. 析:本质就是一个最短路,不过要维护两个值罢了,在维护花费时要维护的是该路要花多少,而不是总的路线花费. 代码如 ...
- Net Core 下载图片
直接上代码 string url = https://www.cnblogs.com/images/logo_small.gif; //获取网站当前根目录 string sWebRootFolder ...