shell脚本任务

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。

[root@Server-NFS-DNS ~]# yum install mailx -y

[root@Server-NFS-DNS ~]# vim /etc/mail.rc

[root@Server-NFS-DNS ~]# vim disk.sh

[root@Server-NFS-DNS ~]# bash disk.sh

set from=1658635147@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=1658635147@qq.com

set smtp-auth-password=jeez.....gei

set smtp-auth=login

编写脚本

#!/bin/bash

disk=$(df -m | grep -w "/" | tr -s " " |cut -d " " -f4)

str1="Warning! disk space less than 20G!"

if [ "$disk" -lt 20000 ]

then

echo "str1" \| mail -s "str1" 1658635147@qq.com

fi

测试能否发送

[root@Server-NFS-DNS ~]# bash disk.sh

编写周期性计划

[root@Server-NFS-DNS ~]# vim /etc/crontab

0 0 * * * root /bin/bash /root/disk1.sh

2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过査看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则

[root@Server-NFS-DNS ~]# vim web.sh

#!/bin/bash

ps=`ps -ef | grep "httpd" | grep -v "grep" | wc -l`

if [ "$ps" -gt 0 ]

then

echo "htppd is already running"

else

echo "httpd not started,waiting......"

yum install httpd -y &> /dev/null

systemctl start httpd

systemctl start firewalld

firewall-cmd --permanent --zone=public --add-service=http > /dev/null

firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null

firewall-cmd --reload > /dev/null

echo "httpd is already running."

fi

[root@Server-NFS-DNS ~]# bash web.sh

测试

3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running;如果不能正常访问,返回12状态码。

[root@node ~]# vim web1.sh

#!/bin/bash

curl -s 192.168.118.131 > /dev/null

if (($?==0))

then

echo "web server is running"

else

echo "web not accessible"

exit 12

fi

测试

相关推荐
。puppy41 分钟前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色1 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
AndyFrank1 小时前
mac crontab 不能使用问题简记
linux·运维·macos
EricWang13582 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
算法与编程之美2 小时前
文件的写入与读取
linux·运维·服务器
Amelio_Ming3 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
心灵彼岸-诗和远方3 小时前
Devops业务价值流:软件研发最佳实践
运维·产品经理·devops
JuiceFS3 小时前
好未来:多云环境下基于 JuiceFS 建设低运维模型仓库
运维·云原生