服务器作业4

[root@localhost day04]# vim 10.sh

[root@localhost day04]# cat 10.sh

#通过shell脚本分析部署nginx网络服务

#1.接收用户部署的服务名称

read -p "服务名称:(nginx)" server

if [ $server != nginx ];then

echo "输入的不是nginx,脚本退出"

exit 1

fi

#2.判断服务是否安装

#已安装;自定义网站配置路径为/www;并创建共享目录和网页文件;重启服务

#没有安装;安装对应的软件包

#systemctl status [服务名],可以查看服务是否安装,如果没有安装,

#会显示Unit [服务名].service could not be found.

a=`systemctl status $server`

if [ $a == "Unit $server.service could not be found." ];then

echo "Nginx服务未安装,开始安装..."

dnf install nginx -y

echo "Nginx服务安装完成。"

mkdir -p /www/shared

echo "创建共享目录 /www/shared"

echo "这是一个测试网页文件内容" > /www/shared/index.html

启动服务

systemctl start nginx

echo "Nginx服务已启动。"

else

echo "Nginx服务已安装。"

自定义网站配置路径为/www

mkdir -p /www

echo "已创建自定义网站配置路径 /www"

创建共享目录和网页文件

mkdir -p /www/shared

echo "创建共享目录 /www/shared"

echo "这是一个测试网页文件内容" > /www/shared/index.html

启动服务

systemctl restart nginx

echo "Nginx服务已重启。"

fi

#3.测试

#判断服务是否成功运行;

测试服务是否成功运行

#已运行,访问网站

#未运行,提示服务未启动,并显示自定义的配置文件内容

测试服务是否成功运行

#systemctl is-active 服务名,判断服务是否运行,返回active是运行

isactive=` systemctl is-active $server`

if [ $isactive == active ]; then

echo "Nginx服务已成功运行,可通过浏览器访问网站。"

else

echo "Nginx服务未启动,以下是自定义的配置文件内容:"

cat /etc/nginx/nginx.conf

fi

#4.以上配置没有问题,请邮件告知我,并将脚本代码(代码文件)邮件发送我

#我的邮箱账号:lxx1065372838@163.com

mail_sub="nginx部署情况报告"

mial_body="nginx部署已经完成,详情如下:

$(if [ isactive != active ];then

echo "Nginx服务已安装但未成功启动,可查看配置文件内容排查问题。"

else

echo "Nginx服务已安装并配置完成,已成功运行。"

fi)

脚本代码:

$(cat 10.sh)"

echo $mail_body

echo "mail_body" \| mail -s "mail_sub" 15380914067@163.com

邮箱配置:

#挂载

[root@localhost ~]# mount /dev/sr0 /mnt

#安装s-nail邮箱服务

[root@localhost ~]# dnf install s-nail -y

#在配置文件的末尾添加配置

[root@localhost ~]# vim /etc/s-nail.rc

############################

#网易邮箱@163.com

#smtp-auth-password要开启网易邮箱的IMAP/SMTP服务,得到的授权码

set from=15380914067@163.com

set smtp=smtp.163.com

set smtp-auth-user=15380914067@163.com

set smtp-auth-password=JBntypapSgHPrMX5

set smtp-auth=login

自己的邮箱

命令格式:

[root@server ~]# echo 123 | mail -s "123" lxx1065372838@163.com

相关推荐
llody_55几秒前
ARM64环境部署EFK8.15.3收集K8S集群容器日志
java·运维·elasticsearch·云原生·容器·kubernetes·es
杨俊杰-YJ15 分钟前
Linux脚本练习
linux·运维·服务器
aduzhe44 分钟前
在 Ubuntu 上配置防火墙以开放特定端口
linux·运维·ubuntu
2401_840192271 小时前
k8s更新
linux·运维·服务器
小麦项目管理指南1 小时前
如何通过低代码逻辑编排实现业务流程自动化?
运维·低代码·自动化·源代码管理
kejijianwen2 小时前
Algen的跨链互操作性:增强区块链连接性
运维·centos·区块链
刘艳兵的学习博客2 小时前
刘艳兵-DBA041-使用常用的数据泵功能导出时,主要需要关注以下哪些步骤?
运维·服务器·数据库·sql·mysql·oracle·刘艳兵
刘艳兵的学习博客2 小时前
刘艳兵-DBA044-关于cardinality的描述,正确的是?
运维·数据库·oracle·dba·刘艳兵
别NULL2 小时前
《现代网络技术》读书笔记:SDN应用平面
linux·网络·sdn
黄焖鸡能干四碗2 小时前
数字化转型企业架构设计手册(交付版),企业数字化转型建设思路、本质、数字化架构、数字化规划蓝图(PPT原件获取)
大数据·运维·开发语言·架构·需求分析·软件需求