自动重新连接 ssh 会话以跟踪远程文件

自动重新连接 ssh 会话以跟踪远程文件

我需要一个基本上跟踪来自远程箱的日志文件的解决方案......

  1. 适用于 Mac
  2. 只要我上网,它就会自行恢复。(我经常合上和打开 MacBook 的盖子)

它可能是我在终端中不断运行的脚本...我只需要它在我切换网络等时始终重新连接。

我尝试过的一些方法

我编写了一个脚本来监视 ssh 命令的尾部,并发现我可以在进程终止时重新启动它...问题是 ssh 似乎并没有真正终止,因为进程实际上已经退出...但它进入了某种不再从远程文件尾部跟踪的状态。

while [ 1 ]; do
    # timestamp
    ts=`date +%T`

    f=log.txt
    TEST=`ps aux | grep "[s]sh -f [email protected] tail -f /var/log/myapp/$f"`
    if [ "$TEST" != "" ]; then
        echo "$ts it's running"
    else
         echo "$ts (Re)Starting $f"
         ssh -f [email protected] "tail -f /var/log/myapp/$f" >> ./logs/$f
    fi

  sleep 15
done

我以为这是解决方案但却没有成功编译它:http://www.harding.motd.ca/autossh/

相关内容