每隔10秒监控磁盘空间使用情况
# cat checkdf.sh
#!/bin/bash
while :
do
/u02/jk/df_var.sh
sleep 10 # 延迟10秒执行
done
本次监控某系统目录
# cat df_var.sh
#!/bin/bash
LOG=/u02/jk/df_`hostname -s`_`date +'%Y-%m-%d'`.log
#每日生成一个文件,且各主机可共用同一脚本,依据主机名区分
#粗略展示
echo '***zzz' `date +'%Y-%m-%d %H:%M:%S'` >>$LOG
df -h |grep var >>$LOG
du -sm /var/* >>$LOG
#细节展示
i=`du -sm /var/*|sort -rn|head -3|awk '{print $2}'`
#显示前3个大目录
for a in $i; do echo '***' $a >>$LOG ;du -sm $a/* |sort -rn|head -5 >>$LOG; done
#显示top 3目录中的前5个
#重点关注cache
echo '*** cache ***'>>$LOG
du -sm /var/cache/*|sort -rn|head >>$LOG
find /var/cache -type f -size +3M -exec ls -lh {} \; >>$LOG;
exit 0
启动:nohup sh ./checkdf.sh &
停止:ps -ef|grep checkdf|grep -v grep|awk '{print $2}' |xargs kill -9
效果展示
***zzz 2024-09-24 10:13:28
/dev/mapper/vg1-lv1 2.0G 533M 1.5G 27% /var
/dev/mapper/vg1-lvLog 18G 6.0G 13G 33% /var/log
/dev/mapper/vg1-lvLog1 1014M 154M 861M 16% /var/log/1
0 /var/account
0 /var/adm
55 /var/cache
1 /var/crash
0 /var/lock
3847 /var/log
0 /var/mail
0 /var/run
290 /var/spool
0 /var/target
--- /var/log
1833 journal
122 audit
69 wtmp
--- /var/spool
290 mail
1 cron
0 mqueue
0 lpd
0 audit