shell编程入门_shell监控硬盘
除夕夜,希望大家吃好喝好!
shell监控硬盘的使用状况,超过89%将会发生警报,并写进check_HD.log文件里。
- #!/bin/sh
- #a1=$(df -h|sed '1d'|awk '{print $5}'|sed 's/%//g')
- a1=$(df -h|sed '1d'|awk '{print $5}'|sed 's/%//g'|sed -n 1p)
- a2=$(df -h|sed '1d'|awk '{print $5}'|sed 's/%//g'|sed -n 2p)
- a3=$(df -h|sed '1d'|awk '{print $5}'|sed 's/%//g'|sed -n 3p)
- a4=$(df -h|sed '1d'|awk '{print $5}'|sed 's/%//g'|sed -n 4p)
- b1=$(df -h|sed 1d|awk '{print $1}'|sed -n 1p)
- b2=$(df -h|sed 1d|awk '{print $1}'|sed -n 2p)
- b3=$(df -h|sed 1d|awk '{print $1}'|sed -n 3p)
- b4=$(df -h|sed 1d|awk '{print $1}'|sed -n 4p)
- DAY=$(date +%F\ %T)
- if [ $a1 -gt 89 ];then
- echo "$DAY $b1 would be near 90% !" >> /root/check_HD.log
- if [ $a2 -gt 89 ];then
- echo "$DAY $b21 would be near 90% !" >> /root/check_HD.log
- if [ $a3 -gt 89 ];then
- echo "$DAY $b3 would be near 90% !" >> /root/check_HD.log
- if [ $a4 -gt 89 ];then
- echo "$DAY $b4 would be near 90% !" >> /root/check_HD.log
- fi fi fi fi
crontab五分钟调用一次。
- # m h dom mon dow command
- #@hourly /bin/rsync.php
- 0-59 * * * * /root/check_apache_running.sh
- 5 * * * * /root/check_HD.sh
博主你好,虽然文章旧了,但是有错误还是要指出来的^-^
[root@server2 boot]# df -h|sed ‘1d’
/dev/mapper/VG00-LV00
11G 2.1G 7.7G 22% /
tmpfs 242M 0 242M 0% /dev/shm
/dev/sda1 488M 50M 414M 11% /boot
[root@server2 boot]# df -h|sed ‘1d’ |awk ‘{print $5}’
/
0%
11%
分区名字长的话这个脚本是有问题的
感谢指出错误,那个年代刚开始学linux不久~~~ 目前来看如果分区名字长的话试试 awk ‘{print $(NF-1)}’ 或者nagios下有现成的脚本,加参数即可执行监控了
给小桥拜年啦
回复:呵呵~新年快乐哦~
流水太努力了~大过年的还在研究技术,真牛!
回复:我瞎搞的~ daniel新年快乐~
过来拜个早年,新年快乐,牛气冲天,万事如意~~
回复:子曰新年快乐~!
拜年了…
回复:Hi虫儿 新年快乐哦!