1、编写脚本,判断当前系统剩余内存大小,如果低于100M,邮件报警管理员,使用计划任务,每10分钟检查一次。
[root@192 ~]# vim 01.sh
# 编写脚本,判断当前系统剩余内存,如果低于100M,邮件报警管理员,使用计划任务每10分钟检查一次
# 定义变量
free_men=$(free -m | grep Mem: | tr -s " " | cut -d " " -f4)
# 但分支判断程序
if [ ${free_men} -lt 1000 ]
then
echo "剩余内存:${free_men},低于100M" | mail -s "内存报警" admin
fi
# 脚本增加可执行权限
[root@192 ~]# chmod a+x 01.sh
配置计划任务
[root@192 ~]# crontab -e
*/10 * * * * sh /root/01.sh &>/dev/null
安装邮件服务
配置邮件服务
#编辑邮件服务配置文件
[root@wan day04]# vim /etc/mail.rc
#添加一下内容
set from=exam_monitor@163.com
set smtp=smtp.163.com
set smtp-auth-user=exam_monitor@163.com
set smtp-auth-password=JPHSBEAPGBPUZHGG
set smtp-auth=login
执行脚本
[root@192 ~]# ./01.sh
执行之后等待发送,之后输入mail查看收到的邮件
综合练习 第一题
1.判断某个文件是否存在,若不存在则给一个Filename does not exist的信息,并终端程序;
2.若文件存在,则判断它是文件或者目录,结果输出Filename is regular file 或者 Filename is directory.
3.判断下,执行者的身份对这个文件或者目录所有的的权限,并输入权限数据、
[root@192 ~]# vim 001.sh
#!/bin/bash
read -p "请输入文件名夹:" Filename
re=$(`test -r $Filename` && echo "readable")
wr=$(`test -w $Filename` && echo "writeable")
ex=$(`test -x $Filename` && echo "executable")
if [ ! -e $Filename ]
then
echo "$Filename does not exist"
exit
elif [ -f $Filename ]
then
echo "$Filename is regular file"
echo "`whoami` is owned $re,$wr,$ex"
ls -l $Filename
else
echo "$Filename is directory"
echo "`whoami` is owned $re,$wr,$ex"
ls -dl $Filename
fi
[root@192 ~]# bash 001.sh
第二题
1.当执行一个程序的时候,这个程序会让用户选择Y或N
2.如果用户输入Y或者y时就显示ok,continue
3.如果用户输入N或者n时,就显示oh,interrupt 4.如果不是Y/y/N/n之内的其他字符,就显示 I don’t know what your chocie is
[root@192 ~]# vim 002.sh
#!/bin/bash
read -p "please input Y or N:" string
if [ "$string" == "Y" ] ;
then echo "OK,conyinue"
elif [ "$string" == "y" ] ;
then echo "OK,conyinue"
elif [ "$string" == "N" ] ;
then echo "Oh,interrupt"
elif [ "$string" == "n" ] ;
then echo "Oh,interrupt"
else echo "i don't know what your choice is"
fi
[root@192 ~]# bash 002.sh
第三题:
1.程序的文件名是?
2.共有几个参数
3.若参数的个数小于2则告知使用者数量太少
4.全部参数内容是什么
5.第一个参数是什么
6第三个参数是什么
[root@192 ~]# vim 003.sh
#!/bin/bash
echo "文件名是$0"
echo "共有$#个参数"
echo "参数内容是$*"
echo "第一个参数是$1"
echo "第三个参数是$3"
if [ "$#" -lt "2" ]
then echo "使用者太少"
fi