基于动态输入参数与条件判断的自动化业务场景

本文涉及的产品
云服务器 ECS,u1 2核4GB 3个月
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 【4月更文挑战第30天】

》》》》》魏红斌带你学shell脚本《《《《《


更多shell脚本学习点击个人主页


作为一个资深程序猿,我将带领您从零开始,一步步踏上运维之旅,无论您是否拥有现成的服务器,都将学会如何轻松购买、部署,并通过编写及应用精心设计的Shell脚本,解决实际工作中遇到的问题。这些脚本不仅源自真实的业务场景,经历了反复实践与严格测试,确保了其简洁高效、易于理解且便于使用。更重要的是,我们将全程免费分享,并深度解析背后原理,助您深入理解并灵活运用,每一款脚本均经过真实业务场景的反复打磨与严格测试,秉持着简洁高效、易于理解和使用的理念设计,无偿提供并且提供相关解析过程,让读者能更深入了解相关内容

无服务器的朋友们

让我们先从选购并部署服务器开始。只需简单三步,即可拥有您的专属云服务器:

  1. 访问ECS官网:点击链接直达阿里云ECS网站:ECS选择网址。这是您获取高质量云服务器的第一站。
  2. 选择并购买:在琳琅满目的服务器配置中,挑选符合您需求的那一款,一键下单,完成支付。整个过程犹如在线购物般便捷。
  3. 进入ECS控制台:支付成功后,您将被引导至ECS管理控制台。在这里,您可以全面掌控您的服务器资源,后续的所有运维操作都将在此展开。

已有服务器的朋友们

如果您已拥有ECS实例,那么请直接登录ECS管理控制台在左侧导航栏中,依次选择“实例与镜像” > “实例”,确保您已定位到目标资源所在的资源组和地域。接下来,在实例列表中找到待连接的实例,点击操作列下的“远程连接”,选择“通过Workbench远程连接”并点击“立即登录”。

登录实例

无论是新购还是已有服务器,接下来都需要进行实例登录。这里支持多种认证方式,以最常见的“密码认证”为例:

  • 输入用户名(通常为rootecs-user)。
  • 接着,输入登录密码。如果您忘记了密码,无需担忧,您可以在ECS实例详情页面查询,或者通过“更改密码”功能进行修改。

编写与运行Shell脚本

成功登录后,您将看到一个熟悉的命令行界面——这就是您的运维主战场。现在,键入vim test.sh,我们便进入了文本编辑模式,准备创建第一个Shell脚本。

按下键盘上的i键,进入插入模式,此刻您可以自由地复制粘贴今天要学习的脚本代码,粘贴后按ecs后,按:wq保存脚本,可以用./ test.sh或者sh test.sh进行脚本执行。

今天我们要学习的脚本是(脚本内容直接复制粘贴即可):

#!/bin/bash
# 定义主函数
main() {
    # 获取用户输入的业务场景编号
    read -p "请输入要执行的业务场景编号 (1-3): " scene_num
    # 根据编号执行不同的业务逻辑
    case $scene_num in
        1)
            # 业务场景1:数据备份
            echo "开始执行数据备份..."
            backup_data
            ;;
        2)
            # 业务场景2:日志分析
            echo "开始执行日志分析..."
            analyze_logs
            ;;
        3)
            # 业务场景3:服务器监控检查
            echo "开始执行服务器监控检查..."
            check_server_status
            ;;
        *)
            echo "无效的业务场景编号,请重新输入。"
            ;;
    esac
}
# 数据备份函数
backup_data() {
    # 这里可以添加具体的数据备份逻辑,例如使用rsync, tar等命令
    echo "数据备份完成。"
}
# 日志分析函数
analyze_logs() {
    # 这里可以添加具体的日志分析逻辑,例如使用grep, awk, sed等工具
    echo "日志分析完成。"
}
# 服务器监控检查函数
check_server_status() {
    # 这里可以添加具体的服务器监控检查逻辑,例如检查CPU使用率、内存使用率、磁盘空间等
    echo "服务器监控检查完成。"
}
# 调用主函数
main

逐行解析步骤:

  1. #!/bin/bash:指定脚本使用的shell解释器为bash。
  2. main():定义一个名为main的函数,这是脚本的主要逻辑入口。
  3. read -p "请输入要执行的业务场景编号 (1-3): " scene_num:提示用户输入一个业务场景编号,并将其存储在变量scene_num中。
  4. case $scene_num in:根据用户输入的业务场景编号进行条件判断。
  5. 1)2)3):分别对应不同的业务场景编号,执行相应的业务逻辑。
  6. echo "开始执行数据备份..."echo "开始执行日志分析..."echo "开始执行服务器监控检查...":输出当前正在执行的业务场景信息。
  7. backup_dataanalyze_logscheck_server_status:调用相应的函数执行具体的业务逻辑。
  8. *):当输入的业务场景编号不在1-3范围内时,输出错误提示信息。
  9. ;;:结束每个case选项。
  10. esac:结束case语句。
  11. backup_data()analyze_logs()check_server_status():分别定义三个函数,用于执行具体的业务逻辑。
  12. echo "数据备份完成。"echo "日志分析完成。"echo "服务器监控检查完成。":输出每个业务场景的完成信息。
  13. main:调用main函数,开始执行脚本的主要逻辑。

总结:

这个脚本通过动态获取用户输入的业务场景编号,实现了不同业务场景的自动化执行。每个业务场景都有对应的函数来处理具体的业务逻辑,增加了脚本的灵活性和可扩展性。同时,通过case语句进行条件判断,可以方便地添加新的业务场景或修改现有业务场景的逻辑。这种设计使得脚本更加通用和可重用,适用于多种不同的业务场景需求。

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口:新老同学免费试用

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
运维 Cloud Native 持续交付
云原生架构的未来演进:打造更加动态和自动化的基础设施
【5月更文挑战第25天】 随着企业数字化转型的深入,云原生技术以其独特的弹性、敏捷性和自动化能力成为支撑现代应用的关键。本文将探讨云原生架构的最新发展趋势,重点分析其在提高运维效率、促进资源优化配置以及支持复杂业务场景中的作用。文章还将讨论如何通过持续集成、持续部署(CI/CD)流程,微服务架构和容器化技术,实现基础设施的自愈能力,从而推动企业向完全自动化的云原生未来迈进。
|
2月前
|
弹性计算 运维 Shell
|
10月前
|
数据采集 存储 安全
利用爬虫技术自动化采集汽车之家的车型参数数据
汽车之家是一个专业的汽车网站,提供了丰富的汽车信息,包括车型参数、图片、视频、评测、报价等。如果我们想要获取这些信息,我们可以通过浏览器手动访问网站,或者利用爬虫技术自动化采集数据。本文将介绍如何使用Python编写一个简单的爬虫程序,实现对汽车之家的车型参数数据的自动化采集,并使用亿牛云爬虫代理服务来提高爬虫的稳定性和效率。
429 0
利用爬虫技术自动化采集汽车之家的车型参数数据
|
11月前
老板叫我写个APP自动化--参数配置--代码详解篇
老板叫我写个APP自动化--参数配置--代码详解篇
75 0
|
测试技术 API 网络架构
如何使用Postman Runner实现自动化测试中的参数自增
Postman Runner 是 Postman 工具中的一个强大功能,它可以用来批量运行 API 测试脚本。通过设置不同的参数组合,我们可以轻松地测试 API 的各种不同情况,并生成测试报告和测试结果。
如何使用Postman Runner实现自动化测试中的参数自增
|
网络安全 Windows
基于fastapi实现6个接口(token拦截, 2个业务流程,接口参数依赖校验)已经通过postman测试,记录部署服务器和windows,用于pytest接口自动化框架的接口测试对象
基于fastapi实现6个接口(token拦截, 2个业务流程,接口参数依赖校验)已经通过postman测试,记录部署服务器和windows,用于pytest接口自动化框架的接口测试对象
|
JSON jenkins 持续交付
python接口自动化(十六)--参数关联接口后传(详解)
大家对前边的自动化新建任务之后,接着对这个新建任务操作了解之后,希望带小伙伴进一步巩固胜利的果实,夯实基础。因此再在沙场实例演练一下博客园的相关接口。我们用自动化发随笔之后,要想接着对这篇随笔操作,不用说就需 要用参数关联了,发随笔之后会有一个随笔的 id,获取到这个 id,继续操作传这个随笔 id 就可以了(博客园的登录机制已经变了,不能用账号和密码登录了,这里用 cookie 登录)
186 1
python接口自动化(十六)--参数关联接口后传(详解)
|
jenkins 持续交付 Python
python接口自动化(十五)--参数关联接口(详解)
我们用自动化新建任务之后,要想接着对这个新建任务操作,那就需要用参数关联了,新建任务之后会有一个任务的Jenkins-Crumb,获取到这个Jenkins-Crumb,就可以通过传这个任务Jenkins-Crumb继续操作这个新建的任务。
447 0
python接口自动化(十五)--参数关联接口(详解)
按键精灵实现交易开拓者TB自动化优化参数
按键精灵实现交易开拓者TB自动化优化参数
222 0
|
人工智能 算法 Android开发
Android自动化中动态设置网络代理
由于现在很多应用的页面数据都是AI算法推荐生成的,所以每次打开同一个页面数据都会不一样,因此在做客户端UI自动化的过程中都会采用Mock方案,利用MockServer来提供稳定的测试数据,其中MockServer的代理需要手动配置。 拿Android手机举例,过程大致是:进入设置->进入 WLAN ->找对应 wifi 连接->进入详情->找到代理->选择手动->输入主机名->输入端口号->最后保存,可以看到每次都是重复操作,特别当你的自动化设备很多以及MockServer服务不稳定导致IP经常变的情况下累加的时间成本是很高的,而且一不小心,还有可能写错
408 0
Android自动化中动态设置网络代理

热门文章

最新文章