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

发布于 2024-12-09 09:05:50 字数 294 浏览 0 评论 0原文

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

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

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

I would like to write a script(on linux based systems) that does the following :

  1. I have a list of remote machines say for e.g mc1, mc2, mc3 and so on
  2. on each of those machines, i have a logfile say for e.g /var/log/mail.log
  3. I have a unique-id with me
  4. This unique-id will be present in only one logfile on any of those machines
  5. Now, I have to search for this id in all those logfiles stored on those machines and get the matched line.

I am thinking of using bash/grep/ssh to do this, but dont know how :(
Can anyone please help me out to accomplish this :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥抱没勇气 2024-12-16 09:05:50

您可以尝试以下操作吗:

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 ---------;"

can you try the following:

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 ---------;"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文