来自 Windows 管理,我想更深入地研究 Linux (Debian)。我在网上搜索(没有找到)时无法回答的一个紧迫问题是:如何像在 Windows PowerShell 中那样实现所谓的“一对多”远程处理?
为了将其分解为基础知识,我会说:
我对 Linux 的看法:
我在 Windows 上的经验:
我输入我的命令并使用“invoke-command”我可以将其“发送”到一堆服务器(可能来自文本文件)以同时执行并返回结果(作为进一步工作的对象)。
我什至可以建立多个会话,连接在后台保持,并有选择地向这些会话发送命令,并根据需要远程进出。
(我听说过厨师、木偶等。是这样的吗?)
Update 2019:
在尝试了很多之后 - 我建议Rex(见下面的评论) - 简单的设置(实际上它只需要 ssh,没有别的)和使用(如果你知道一点点perl,它会更好,但它是可选的)
与Rex(ify) )您可以执行adhoc命令并将其推进到真正的配置管理中(...意思是:它首先是一个 CM,但也适用于临时任务)网站接缝已过时,但目前(截至 01/2019)它正在积极开发中,IRC 频道也处于活跃状态。
有了 Windows 的新openssh,还有更多的可能性
你可以试试:
rex -u user -p password -H 192.168.1.3 -e 'say run "hostname"'
我想列出机器上的所有用户目录。通常,我会这样做:
ls -l /home
Run Code Online (Sandbox Code Playgroud)
但是我在一个脚本中使用它,该脚本将部署在其他机器上,也许在他们不称之为家的机器上(例如 myHome)。所以我想把它概括为ls -l ~
. 但它只列出我的用户主目录而不是所有用户主目录名称(基本上我想获得机器上用户名的列表)。我怎样才能概括它?