Linux Shell脚本编写实践:如何批量关闭多台集群服务器

2023年 7月 30日 74.2k 0

在管理大规模集群时,有时我们可能需要对多台服务器进行关机。

手动完成这个任务可能会非常耗时和繁琐,因此我们可以通过编写Shell脚本来自动化这个过程。

在本文中,我们将介绍如何编写一个Shell脚本,该脚本可以同时关闭多台集群服务器。

图片[1]-Linux Shell脚本编写实践:如何批量关闭多台集群服务器-不念博客

脚本简介

我们的目标是创建一个脚本,它可以关闭一个集群中的多台服务器。

我们将使用Linux的ssh命令来远程登录到每台服务器,并执行关机命令。

环境准备

首先,你需要一个运行Linux的环境,并且有一定的Shell脚本编程基础。

另外,你需要有一组可以通过ssh远程登录的服务器,以及对这些服务器的root或者sudo访问权限。

脚本编写

我们的脚本将是一个简单的bash脚本,大致的逻辑如下:

  • 遍历一个包含服务器IP地址的列表。
  • 使用ssh登录到每台服务器,并执行关机命令。
  • 下面是这个脚本的一个简单版本:

    #!/bin/bash
    
    # 服务器IP地址列表
    servers=("192.168.1.1" "192.168.1.2" "192.168.1.3")
    
    # 遍历服务器列表
    for server in "${servers[@]}"
    do
      # 使用ssh登录到服务器并执行关机命令
      ssh root@$server 'shutdown -h now' 
    done

    在这个脚本中,我们使用ssh命令远程登录到每台服务器,并执行shutdown -h now命令来关闭服务器。

    你需要确保你的ssh公钥已经添加到每台服务器的.ssh/authorized_keys文件中,这样你就可以无密码登录。

    脚本测试

    现在,我们可以测试我们的脚本了。首先,给脚本执行权限:

    chmod +x shutdown_servers.sh

    然后,运行脚本:

    ./shutdown_servers.sh

    如果一切正常,你应该能看到每台服务器关机的相关信息。

    总结

    在本文中,我们创建了一个简单的Shell脚本,用于批量关闭集群中的服务器。

    这个脚本展示了如何使用Shell脚本和ssh命令来远程管理服务器,并为Shell脚本编程提供了一个实际的例子。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论