我想编写一个脚本(在基于 Linux 的系统上)来执行以下操作:
- 我有一个远程计算机列表,例如 mc1、mc2、mc3 等
- 在每台机器上,我都有一个日志文件,例如/var/log/mail.log
- 我有一个唯一的 ID
- 此唯一 ID 将仅出现在任何一台计算机上的一个日志文件中
- 现在,我必须在这些计算机上存储的所有日志文件中搜索该 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/