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

时间:2011-10-13 10:20:25

标签: linux ssh grep string-matching

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

  1. 我有一个远程机器列表,例如mc1,mc2,mc3等等
  2. 在每台机器上,我有一个日志文件,例如/var/log/mail.log
  3. 我和我有一个独特的身份
  4. 此唯一ID将仅存在于任何这些计算机上的一个日志文件中
  5. 现在,我必须在存储在这些机器上的所有日志文件中搜索此ID并获取匹配的行。
  6. 我正在考虑使用bash / grep / ssh来做到这一点,但不知道如何:( 任何人都可以帮助我完成这个:)

1 个答案:

答案 0 :(得分:0)

你可以尝试以下方法:

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