Linux “启动和停止”;尾部-f“;在本地服务器和远程ssh服务器中使用bash

Linux “启动和停止”;尾部-f“;在本地服务器和远程ssh服务器中使用bash,linux,bash,shell,ssh,tail,Linux,Bash,Shell,Ssh,Tail,我基本上是在尝试编写一个脚本来实时捕获本地(server1)和远程服务器(server2)的实时日志。 日志文件存储在两台服务器上的同一目录中 对于exmaple:/var/log/test/test.log 现在我想在server1中编写一个脚本,并捕获两个节点中不断增加的日志 shell的基本逻辑(不是真正的bash代码): 我是个不速之客,希望有人能帮我实现这个目标。 谢谢只要您没有脚本,终止父脚本也应该终止其子进程 或者,您可以捕获$的值包含最近运行的后台进程的PID。您可以将这些值与k

我基本上是在尝试编写一个脚本来实时捕获本地(server1)和远程服务器(server2)的实时日志。 日志文件存储在两台服务器上的同一目录中

对于exmaple:/var/log/test/test.log

现在我想在server1中编写一个脚本,并捕获两个节点中不断增加的日志

shell的基本逻辑(不是真正的bash代码):

我是个不速之客,希望有人能帮我实现这个目标。 谢谢

只要您没有脚本,终止父脚本也应该终止其子进程

或者,您可以捕获
$的值包含最近运行的后台进程的PID。您可以将这些值与
kill
一起使用,让父脚本结束它们。要确保父脚本在退出时终止它们,您需要设置退出。

只要您没有脚本,终止父脚本也应该终止其子进程


或者,您可以捕获
$的值包含最近运行的后台进程的PID。您可以将这些值与
kill
一起使用,让父脚本结束它们。要确保父脚本在退出时终止它们,您需要设置一个退出。

如何在本地tail-f命令的同时终止远程服务器中的PID?出口信号应该在两个尾部命令中都被捕捉到。你不需要这样做。在示例代码中,本地服务器上后台运行的是
ssh
,而不是远程服务器上的
tail
。通过终止本地
ssh
它将通过发送SIGHUP来终止它运行的远程命令。如何在本地tail-f命令的同时终止远程服务器中的PID?出口信号应该在两个尾部命令中都被捕捉到。你不需要这样做。在示例代码中,本地服务器上后台运行的是
ssh
,而不是远程服务器上的
tail
。通过终止本地
ssh
,它将通过发送SIGHUP来终止它运行的远程命令。
tail -f /var/log/test/test.log > /some/local/dir/sever1.log &
ssh server2 and tail -f /var/log/test/test.log > /some/local/dir/server2.log &
if [ exit or ctrl+c ] 
kill "tail -f pid" in server1
kill "tail -f pid" in server2.
exit