当前位置: 首页 > news >正文

课时51:表达式_表达式进阶_综合实践

3.3.4 综合实践

学习目标

这一节,我们从 堡垒机登录、信息检测、小结 三个方面来学习。

堡垒机登录

脚本功能-扩充用户名和密码验证功能

[root@localhost ~]# cat simple_jumpserver.sh
#!/bin/bash
# 功能:定制堡垒机的展示页面
# 版本:v0.3
# 作者:书记
# 联系:www.superopsmsb.com# 定制普通变量
login_user='root'
login_pass='123456'# 堡垒机的信息提示
echo -e "\e[31m \t\t 欢迎使用堡垒机"
echo -e "\e[32m
-----------请选择你要登录的远程主机-----------1: 10.0.0.14 (nginx)2: 10.0.0.15 (tomcat)3: 10.0.0.19 (apache)q: 使用本地主机
----------------------------------------------
"'\033[0m'# 由于暂时没有学习条件判断,所以暂时选择 q
read -p "请输入您要选择的远程主机编号: " host_index
read -p "请输入登录本地主机的用户名: " user
read -s -p "请输入登录本地主机的密码: " password
echo
# 远程连接主机
[[ ${user} == ${login_user} && ${password} == ${login_pass} ]] && echo "主机登录验证成功" || echo "您输入的用户名或密码有误"
脚本执行效果
[root@localhost ~]# /bin/bash simple_jumpserver.sh欢迎使用堡垒机-----------请选择你要登录的远程主机-----------1: 10.0.0.14 (nginx)2: 10.0.0.15 (tomcat)3: 10.0.0.19 (apache)q: 使用本地主机
----------------------------------------------请输入您要选择的远程主机编号: q
请输入登录本地主机的用户名: root
请输入登录本地主机的密码:
主机登录验证成功
[root@localhost ~]# /bin/bash simple_jumpserver.sh欢迎使用堡垒机-----------请选择你要登录的远程主机-----------1: 10.0.0.14 (nginx)2: 10.0.0.15 (tomcat)3: 10.0.0.19 (apache)q: 使用本地主机
----------------------------------------------请输入您要选择的远程主机编号: q
请输入登录本地主机的用户名: python
请输入登录本地主机的密码:
您输入的用户名或密码有误

信息检测

脚本功能-检测公司网站的存活

判断网站的命令
[root@localhost ~]# wget --spider -T5 -q -t2 www.baidu.com
[root@localhost ~]# echo $?
0
[root@localhost ~]# wget --spider -T5 -q -t2 www.baidu.com1
[root@localhost ~]# echo $?
4
[root@localhost ~]# curl -s -o /dev/null www.baidu.com
[root@localhost ~]# echo $?
0
[root@localhost ~]# curl -s -o /dev/null www.baidu.com1
[root@localhost ~]# echo $?
6
脚本的核心内容
[root@localhost ~]# cat site_healthcheck.sh
#!/bin/bash
# 功能:定制站点的检测功能
# 版本:v0.1
# 作者:书记
# 联系:www.superopsmsb.com# 定制普通变量
site_addr="$1"
# 脚本基本判断
[ -z ${site_addr} ] && echo "请输入待测试站点域名" && exit
[ $# -ne 1 ] && echo "请保证输入1个脚本参数" && exit# 检测平台的信息提示
echo -e "\e[32m-----------检测平台支持的检测类型-----------1: wget2: curl
----------------------------------------"'\033[0m'# 选择检测类型
read -p "请输入网站的检测方法: " check_type
site_status=$([ ${check_type} == 1 ] && wget --spider -T5 -q -t2 ${site_addr} && echo "正常" || echo "异常") 
site_status=$([ ${check_type} == 2 ] && curl -s -o /dev/null ${site_addr} && echo "正常" || echo "异常")
# 信息输出
echo
echo -e "\e[31m\t站点状态信息\e[0m"
echo -e "\e[32m================================"
echo "${site_addr} 站点状态: ${site_status}"
echo -e "================================\e[0m"
脚本执行效果
[root@localhost ~]# /bin/bash site_healthcheck.sh
请输入待测试站点域名
[root@localhost ~]# /bin/bash site_healthcheck.sh aa bb
请保证输入1个脚本参数
[root@localhost ~]# /bin/bash site_healthcheck.sh www.baidu.com
-----------检测平台支持的检测类型-----------1: wget2: curl
----------------------------------------
请输入网站的检测方法: 1站点状态信息
================================
www.baidu.com 站点状态: 异常
================================
[root@localhost ~]# /bin/bash site_healthcheck.sh www.baidu.com1
-----------检测平台支持的检测类型-----------1: wget2: curl
----------------------------------------
请输入网站的检测方法: 2站点状态信息
================================
www.baidu.com1 站点状态: 异常
================================

小结


相关文章:

  • 【Linux深入剖析】进程控制 | 进程程序替换--长篇深层次讨论
  • 机器学习笔记 YOLOv9模型相关论文简读
  • 1. 开发环境搭建
  • 瑞_Redis_Redis命令
  • x-pack的破解方式和免费jar包!!可直接用!!
  • 2024年四川媒体新闻发布渠道,媒体邀约资源表
  • 嵌入式驱动学习第一周——git的使用
  • MariaDB MaxScale实现mysql8读写分离
  • Mysql 的高可用详解
  • day10_日志模块AOP
  • JavaWeb HTTP 请求头、请求体、响应头、响应体、响应状态码
  • 升级 Vue版本从 2.5.x 到 2.6.x
  • c++ - pointer convert - class member function‘s pointer <==> void*
  • 包管理工具之npm也慌了?
  • mTLS: openssl创建CA证书
  • __proto__ 和 prototype的关系
  • Android优雅地处理按钮重复点击
  • java8-模拟hadoop
  • JSDuck 与 AngularJS 融合技巧
  • python学习笔记 - ThreadLocal
  • Python语法速览与机器学习开发环境搭建
  • SpriteKit 技巧之添加背景图片
  • sublime配置文件
  • vue 个人积累(使用工具,组件)
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 电商搜索引擎的架构设计和性能优化
  • 关于extract.autodesk.io的一些说明
  • 前端学习笔记之观察者模式
  • 全栈开发——Linux
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 正则表达式
  • ​卜东波研究员:高观点下的少儿计算思维
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • #pragma 指令
  • ()、[]、{}、(())、[[]]命令替换
  • (2)(2.10) LTM telemetry
  • (27)4.8 习题课
  • (libusb) usb口自动刷新
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .gitignore文件_Git:.gitignore
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 后台导出excel ,word
  • .net专家(高海东的专栏)
  • /etc/skel 目录作用
  • /etc/sudoer文件配置简析