服务器作业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.以上配置没有问题,请邮件告知我,并将脚本代码(代码文件)邮件发送我 #我的邮箱账号:[email protected] 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" [email protected]

邮箱配置:

#挂载

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 [email protected] set smtp=smtp.163.com set [email protected] set smtp-auth-password=JBntypapSgHPrMX5 set smtp-auth=login # 自己的邮箱 命令格式: \[root@server \~\]# echo 123 \| mail -s "123" [email protected]

相关推荐
christine-rr17 分钟前
【25软考网工】第六章(4)VPN虚拟专用网 L2TP、PPTP、PPP认证方式;IPSec、GRE
运维·网络·网络协议·网络工程师·ip·软考·考试
oioihoii26 分钟前
C++23 views::slide (P2442R1) 深入解析
linux·算法·c++23
乐言3611 小时前
如何用Jmeter实现自动化测试?
运维·jmeter·自动化
hnlucky1 小时前
《基于 Kubernetes 的 WordPress 高可用部署实践:从 MariaDB 到 Nginx 反向代理》
运维·数据库·nginx·云原生·容器·kubernetes·mariadb
Jerry&Louis1 小时前
【Ubuntu】neovim & Lazyvim安装与卸载
linux·ubuntu
风筝超冷1 小时前
获取高德地图JS API的安全密钥和Key的方法
服务器·mysql·js api
我叫珂蛋儿吖2 小时前
[redis进阶六]详解redis作为缓存&&分布式锁
运维·c语言·数据库·c++·redis·分布式·缓存
头疼的程序员2 小时前
linux入门学习(介绍、常用命令、vim、shell)
linux·vim
lix的小鱼2 小时前
安装Hadoop并运行WordCount程序
大数据·linux·hadoop
Kaede62 小时前
如何选择合适的服务器操作系统
运维·服务器