一个监控磁盘空间的SHELL脚本的编写
下面是百度的一个:1.crontab-e##编辑文件格式如下06***~/check.sh2.编辑check.sh内容如下:#!/bin/bashmail=your_em...
下面是百度的一个:
1. crontab -e
##编辑文件格式如下
0 6 * * * ~/check.sh
2.编辑check.sh 内容如下:
#!/bin/bash
mail=your_email@domain.com # 你的e_mail
code=`df | grep -c -E \(9[1-9]\%\)\|\(100\%\)` # 判断磁盘的占用有没有超过90%
if [ $code -gt 0 ]
then
df | mail -v -s "subject" $mail - ## 如果有,就发邮件,邮件内容为df 命令的输出(即:磁盘使用统计)
fi
#######################################################chech.sh 文件结束
3. 将check.sh移动到当前用户的home目录下
#######################################################
把你的邮件设置好,就能发了
4. chmod +x check.sh ## 设为可执行
5. /etc/init.d/crond restart ## 重起crond服务
我根据这个改的
#!/bin/sh
mail=your_email@domain.com
code=`df -k | $/export/home | awk '{print $5}' \(9[1-9]\%\)\|\(100\%\)`
if [ $code -gt 0 ]
then
df | mail -v -s "subject" $mail -
fi
不知道对不对啊 展开
1. crontab -e
##编辑文件格式如下
0 6 * * * ~/check.sh
2.编辑check.sh 内容如下:
#!/bin/bash
mail=your_email@domain.com # 你的e_mail
code=`df | grep -c -E \(9[1-9]\%\)\|\(100\%\)` # 判断磁盘的占用有没有超过90%
if [ $code -gt 0 ]
then
df | mail -v -s "subject" $mail - ## 如果有,就发邮件,邮件内容为df 命令的输出(即:磁盘使用统计)
fi
#######################################################chech.sh 文件结束
3. 将check.sh移动到当前用户的home目录下
#######################################################
把你的邮件设置好,就能发了
4. chmod +x check.sh ## 设为可执行
5. /etc/init.d/crond restart ## 重起crond服务
我根据这个改的
#!/bin/sh
mail=your_email@domain.com
code=`df -k | $/export/home | awk '{print $5}' \(9[1-9]\%\)\|\(100\%\)`
if [ $code -gt 0 ]
then
df | mail -v -s "subject" $mail -
fi
不知道对不对啊 展开
2个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
力控科技
2024-08-19 广告
2024-08-19 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中...
点击进入详情页
本回答由力控科技提供
展开全部
code=`df -k $/export/home | grep -v Available | awk '{print $5}' | awk -F% '{print $1}' | awk '{ if(($1>=90)&&($1<=100)) {exit 1}else{ exit 0}}'
追问
能否具体点 每句的作用是什么?
追答
df -k $/export/home 检查磁盘空间
grep -v Available 过滤掉没用的行
awk '{print $5}' 提取第五个地段
awk -F% '{print $1}' 以百分号为分割线提取第一个字段
本来想把整个判断加成一行,不过感觉这么判断不对。重新写了一个新的。
echo 部分你自己写成发mail吧。
#!/bin/bash
code=`df -k / | grep -v Available | awk '{print $5}' | awk -F% '{print $1}'`
if [ $code -le 90 ]
then
echo "正常 $?"
else
echo "不正常 $?"
fi
exit 0
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询