【问题标题】:Using Linux commands on files across multiple servers在多台服务器上对文件使用 Linux 命令
【发布时间】:2012-03-20 14:28:55
【问题描述】:

作为一个整体,我是 Linux 的新手,到目前为止,我还没有找到一个充其量不是笨拙的解决方案。我有 Windows 背景,所以我习惯于在一台服务器上运行命令来访问同一域中多个系统上的文本文件。

在 Windows 中处理的示例:

find "Some text" \\ServerName01\c$\inetpub\*.log
find "Some text" \\ServerName02\c$\inetpub\*.log
find "Some text" \\ServerName03\c$\inetpub\*.log

我想在 Linux 中做的示例:

sed 's/SomeText/OtherText/p //ServerName01/var/opt/somefolder/*.log
sed 's/SomeText/OtherText/p //ServerName02/var/opt/somefolder/*.log
sed 's/SomeText/OtherText/p //ServerName03/var/opt/somefolder/*.log

在 Linux 中执行上述操作的最佳方法是什么,甚至有可能吗?

谢谢!

【问题讨论】:

  • 如果你能用英语准确地解释你想要完成的事情,而不是用 Windows 命令语言给出一个例子,那么回答会简单得多——除此之外,许多 Unix 专家不会了解 Windows 命令语言。
  • 你是怎么做的,他们是本地服务器还是你想通过 ssh 做?如果是这样,它是终端 ssh 还是像 putty 之类的 gui 应用程序或类似的东西?
  • 应该转移到超级用户

标签: linux dns hostname


【解决方案1】:

查看 pssh 和 pscp 套件,您可以在一堆远程服务器上运行命令:http://www.theether.org/pssh/

【讨论】:

    【解决方案2】:

    pssh 或 cssh 都可以

    pssh 提供了许多命令来针对一组执行 计算机,使用 SSH。它对于在集群上操作最有用 同构配置的主机。

    http://www.ubuntugeek.com/execute-commands-simultaneously-on-multiple-servers-using-psshcluster-sshmultixterm.html

    【讨论】:

      【解决方案3】:

      有很多方法可以做到:

      • 通过 NFS/Fuse Mount,将日志目录挂载到一个系统上,您可以执行与 windows 相同的操作(使用“\\”自动挂载远程文件系统)
      • 使用 ssh,(这将是我的首选解决方案)

      cat 服务器列表 | xargs -i ssh {} " grep \"some text\" yourfilepaths"

      如果您使用 ssh 密钥对会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-18
        • 2017-10-29
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        • 2023-04-01
        • 1970-01-01
        • 2016-02-08
        相关资源
        最近更新 更多