linux - 用于在远程计算机上的日志文件中搜索字符串并复制匹配文本的脚本

标签 linux ssh grep string-matching

我想编写一个脚本(在基于 Linux 的系统上)来执行以下操作:

  1. 我有一个远程计算机列表,例如 mc1、mc2、mc3 等
  2. 在每台机器上,我都有一个日志文件,例如/var/log/mail.log
  3. 我有一个唯一的 ID
  4. 此唯一 ID 将仅出现在任何一台计算机上的一个日志文件中
  5. 现在,我必须在这些计算机上存储的所有日志文件中搜索该 ID 并获取匹配的行。

我正在考虑使用 bash/grep/ssh 来执行此操作,但不知道如何:( 谁能帮我完成这个任务:)

最佳答案

您可以尝试以下操作:

ssh user@mc1 -c "echo "Machine: mc1; grep $UNIQUE_ID /var/log/mail.log; echo ---------;"
ssh user@mc2 -c "echo "Machine: mc2; grep $UNIQUE_ID /var/log/mail.log; echo ---------;"
ssh user@mc3 -c "echo "Machine: mc3; grep $UNIQUE_ID /var/log/mail.log; echo ---------;"
ssh user@mc4 -c "echo "Machine: mc4; grep $UNIQUE_ID /var/log/mail.log; echo ---------;"

关于linux - 用于在远程计算机上的日志文件中搜索字符串并复制匹配文本的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752660/

相关文章:

linux - 如何在 Linux/Unix 中查找与标识符匹配的字符序列?

linux - 在引导时提供无效参数后如何加载内核模块?

linux - 生产者消费者实现

windows - 通过命令行通过 SOCKS5 代理打开 putty ssh 连接

通过 SSH 协议(protocol)的 Github Gist 不起作用

ssh - GitLab SSH 克隆失败; HTTP 工作

linux - 开始构建我自己的 mozilla 的资源

java - 从集群中的所有计算机访问 HDFS 文件

linux - grep -c 不工作

bash - 如何找到每行输入的唯一字符?