文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在多个 Linux 服务器上运行多个命令

2023-09-15 20:03

关注

动动发财的小手,点个赞吧!

如果你正在管理多台 Linux 服务器,并且你想在所有 Linux 服务器上运行多个命令,但你不知道该怎么做。不用担心,在这个简单的服务器管理指南[1]中,我们将向您展示如何在多个 Linux 服务器上同时运行多个命令。

为此,您可以使用 pssh(并行 ssh)程序,这是一个用于在多个主机上并行执行 ssh 的命令行实用程序。使用它,您可以从 shell 脚本向所有 ssh 进程发送输入。

创建 Shell 脚本

因此,您需要首先准备一个脚本,其中包含您要在不同服务器上执行的 Linux 命令。在此示例中,我们将编写一个脚本,该脚本将从多个服务器收集以下信息:

  • 检查服务器的正常运行时间
  • 检查谁登录以及他们在做什么
  • 根据内存使用情况列出前 5 个正在运行的进程。

首先使用您喜欢的编辑器创建一个名为 commands.sh 的脚本。

# vi commands.sh

接下来,将以下命令添加到脚本中,如图所示。

#!/bin/bash 
###############################################################################
#Script Name    : commands.sh                       
#Description    : execute multiple commands on multiple servers                                                                     
#Author         : Aaron Kili Kisinga       
#Email          : aaronkilik@gmail.com 
################################################################################
echo
# show system uptime
uptime
echo
# show who is logged on and what they are doing
who
echo
# show top 5 processe by RAM usage 
ps -eo cmd,pid,ppid,%mem,%cpu --sort=-%mem | head -n 6

exit 0

保存文件并关闭它。然后如图所示使脚本可执行。

# chmod +x commands.sh

创建 PSSH 主机文件

接下来,在 hosts.txt 文件中添加要在其上运行命令的服务器列表,格式为 [user@]host[:port] 或仅提供服务器 IP 地址。

但我们建议您使用可以在 .ssh/config 文件中指定的 ssh 别名,如如何配置自定义 ssh 连接以简化远程访问中所述。

这种方法更有效和可靠,它允许您为每个远程服务器指定配置选项(如主机名、标识文件、端口、用户名等)。 以下是我们的示例 ssh 主机别名文件,也就是用户特定的 ssh 配置文件。

# vi ~/.ssh/config
alt

接下来,创建一个 hosts.txt 文件,在这里您可以简单地指定别名(使用 .ssh/config 文件中的 Host 关键字定义的名称),如图所示。

# vi hosts.txt 

添加服务器别名。

server1
server2
server3

通过脚本在多个 Linux 服务器上运行命令

现在通过指定 hosts.txt 文件以及包含要在多个远程服务器上运行的多个命令的脚本来运行以下 pssh 命令。

# pssh -h hosts.txt -P -I<./commands.sh

上述命令中使用的标志的含义:

  • -h – 读取主机文件。
  • -P – 告诉 pssh 在输出到达时显示输出。
  • -I – 读取输入并发送到每个 ssh 进程。
alt

Reference

[1]

Source: https://www.tecmint.com/run-multiple-commands-on-multiple-linux-servers/

本文由 mdnice 多平台发布

来源地址:https://blog.csdn.net/swindler_ice/article/details/131485116

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯