shell进阶练习

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值