shell脚本练习
一、判断当前磁盘剩余空间是否有20g,如果小于20g,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间
1、准备工作,恢复快照,装包
2、编写配置文件(/etc/s-nail.rc)
3、编写脚本(vim disk.sh)
4、编写周期性计划任务(/etc/crontab)
0 12 * * * root /bin/bash /root/disk.sh
二、判断web服务是否运行(1、查看进程的方法。2、查看端口的方法),如果没有运行,则启动服务并配置防火墙规则。
1、编写脚本
[root@server ~]# vim web.sh
#!/bin/bashps=`ps -ef | grep "httpd" |grep -v "grep" | wc -l ` #查看进程if [ "$ps" -gt 0 ]
then echo "服务正在运行"
else echo "服务器未运行,请等一会"yum install httpd -y &> /dev/nullsystemctl start httpdsystemctl start firewalldfirewall-cmd --permanent --zone=public --add-service=http > /dev/nullfirewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/nullfirewall-cmd --reload > /dev/nullecho "服务运行中"
fiss=`ss -lntup | grep -w 80 |wc -l`
if [ "$ss" -gt 0 ]
then echo "服务正在运行"
else echo "服务器未运行,请等一会"yum install httpd -y &> /dev/nullsystemctl start httpdsystemctl start firewalldfirewall-cmd --permanent --zone=public --add-service=http > /dev/nullfirewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/nullfirewall-cmd --reload > /dev/nullecho "服务运行中"
fi
[root@server ~]# bash web.sh
服务器未运行,请等一会
服务运行中
三、使用curl命令服务web服务,看能否正常访问,如果可以,则返回web server is running,如果不能,返回12状态码
[root@server ~]# vim webtest.sh
#!/bin/bashcurl -s 192.168.119.128 > /dev/nullif (($?==0))
then echo "网络服务运行中"
else echo "服务未运行"exit 12
fi [root@server ~]# bash webtest.sh
网络服务运行中
[root@server ~]#