gpt4 book ai didi

linux - 如何在一个 linux 虚拟机上运行一个 shell 脚本,在另一个 linux 虚拟机上

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:26 25 4
gpt4 key购买 nike

我使用 VMware vsphere client v5.5。我开发了一个简单的 shell 脚本,它基本上使用命令“lscpu”提供有关系统的信息。现在假设我有两个虚拟机,两个虚拟机都安装了 RHEL 6.5。假设我已经登录到 VM 1 并且该 VM1 中存在 shell 脚本,现在我想要有关 VM2 的信息并且我想从 VM1 在 VM2 中运行这个 shell 脚本文件并在 vm1 上取回结果,我该怎么做?我发现的一个想法是使用 ssh ,但我不太确定,谁能告诉我如何做到这一点。

最佳答案

因为它只在 VM 中运行(我认为安全性不是问题),你可以在 VM2 中设置一个简单的 TCP 服务器来监听连接,你可以在 VM1 中有一个 netcat 客户端来连接到服务器,执行脚本并获取结果。

您可以借助 xinetd 轻松实现这一目标。

您需要先安装 xinetd。如果您运行的是 Ubuntu 或基于 ubuntu 的发行版:

sudo apt install xinetd

您需要配置 xinetd 来运行您的脚本。我强烈建议在 setting up xinetd 上引用此特定指南配置您的服务器。

您可以直接使用默认配置。

service myscript
{
type = UNLISTED
socket_type = stream
wait = no
user = username
group = groupname
server = /path/to/your/script.sh
log_on_failure += USERID HOST
disable = no
port = 1593
}

只需相应地编辑usergroupserver(您的 shell 脚本的路径)和 port 字段然后你就可以开始了。

服务器启动后,您可以通过在 VM1 中执行以下命令在 VM2 中运行您的脚本,

netcat $vm2_ip $port

这将在 VM2 中执行脚本并在 VM1 中显示结果。

关于linux - 如何在一个 linux 虚拟机上运行一个 shell 脚本,在另一个 linux 虚拟机上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44235991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com