使用脚本开启关闭虚拟机

简介: 【4月更文挑战第29天】

》》》》》魏红斌带你学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

# 使用脚本开启关闭虚拟机

# 脚本通过调用virsh命令实现对虚拟机的管理,如果没有该命令,需要安装 libvirt-client 软件包

# $1是脚本的第1个参数,$2是脚本的第2个参数

# 第1个参数是你希望对虚拟机进行的操作指令,第2个参数是虚拟机名称

case $1 in

list)

virsh list --all

;;

start)

virsh start $2

;;

stop)

virsh destroy $2

;;

enable)

virsh autostart $2

;;

disable)

virsh autostart --disable $2

;;

*)

echo "Usage:$0 list"

echo "Usage:$0 [start|stop|enable|disable] VM_name"

cat << EOF

#list 显示虚拟机列表

#start 启动虚拟机

#stop 关闭虚拟机

#enable 设置虚拟机为开机自启

#disable 关闭虚拟机开机自启功能

EOF

;;

esac

以下是该脚本的详细解释:

  1. 脚本头#!/bin/bash 指定脚本应该使用Bash shell来执行。
  2. 注释:脚本开头的注释简要描述了脚本的功能和所需的依赖项(libvirt-client 软件包)。
  3. 参数:脚本接受两个参数。$1 是操作指令,而 $2 是虚拟机的名称。
  4. case语句:根据$1(即传递给脚本的第一个参数)的值,脚本执行不同的操作。
  • list:显示所有虚拟机的列表。
  • start:启动名为 $2 的虚拟机。
  • stop:强制关闭名为 $2 的虚拟机。
  • enable:设置名为 $2 的虚拟机为开机自启。
  • disable:关闭名为 $2 的虚拟机的开机自启功能。
  • 其他值:如果 $1 不是上述任何值,脚本将显示使用方法,并打印出每个选项的描述。
  1. EOF:这是一个“Here Document”的结束标记,用于多行字符串的输出。在这种情况下,它用于显示脚本的使用说明。

如何使用脚本

  • 列出所有虚拟机./scriptname.sh list
  • 启动虚拟机./scriptname.sh start myvm(其中 myvm 是虚拟机的名称)
  • 关闭虚拟机./scriptname.sh stop myvm
  • 设置虚拟机为开机自启./scriptname.sh enable myvm
  • 关闭虚拟机的开机自启功能./scriptname.sh disable myvm

注意:为了运行此脚本,你需要确保已经安装了 libvirt-client 软件包,并且有足够的权限来执行 virsh 命令。

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

入口:新老同学免费试用

目录
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
该文章提供了在虚拟机上安装MySQL服务的简化方法,特别是针对新手。作者提供了一个自动化脚本`install_mysql.sh`,使得安装过程更简单。用户需要下载`install.rpm`资源,将其放在指定目录下,然后创建并编辑脚本文件,将提供的代码粘贴进去,通过`chmod u+x`授权,最后运行脚本`./install_mysql.sh [rpm文件路径]`来安装MySQL。文章还附有相关图片说明。
304 1
【简单无脑】自动化脚本一键安装虚拟机下的MySQL服务
|
6月前
|
分布式计算 大数据 Hadoop
【经验分享】用Linux脚本管理虚拟机下的大数据服务
【经验分享】用Linux脚本管理虚拟机下的大数据服务
54 1
|
6月前
|
存储 弹性计算 运维
调整虚拟机内存参数的 shell 脚本
【4月更文挑战第29天】
73 2
|
6月前
|
存储 弹性计算 运维
调整虚拟机内存参数的shell 脚本
【4月更文挑战第29天】
61 0
|
Linux 虚拟化
使用脚本快速初始化VMware下Linux虚拟机新增数据盘
使用脚本快速初始化VMware下Linux虚拟机新增数据盘
156 0
使用脚本快速初始化VMware下Linux虚拟机新增数据盘
|
Ubuntu 编译器 Shell
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析
|
固态存储 内存技术
虚拟机操作脚本
手动定制虚拟磁盘格式,通过脚本添加不同类型的模拟磁盘,增加磁盘的硬件信息
272 1
|
分布式计算 Oracle 关系型数据库
硬核!!教你如何通过脚本自动部署虚拟机并安装操作系统
硬核!!教你如何通过脚本自动部署虚拟机并安装操作系统
524 0
硬核!!教你如何通过脚本自动部署虚拟机并安装操作系统
|
网络协议 Linux Shell
docker 创建虚拟机并且远程链接 shell脚本-修正版
再执行完成脚本后,需要仅需虚拟机执行安装时间和ssh工具进行远程连接
169 0

相关实验场景

更多