我正在寻找一种tail
从远程计算机上的标准输出执行获取本地终端日志的方法,而无需直接地执行与ssh
.
一般程序是:
- 本地客户端机器运行一个程序要求在远程服务器上运行的东西。该请求可能会被拒绝。
- 服务器运行它并以某种方式将标准输出传输回客户端。
让我们考虑wget
一个例子,如果我想在远程服务器上启动下载并在客户端查看进度日志。
所以在客户端它应该是这样的:
[complete_this] my.server.io `wget http://ipv4.download.thinkbroadband.com/1GB.zip`
在服务器端,我们需要运行wget
并将 stdout 重定向到客户端
wget http://ipv4.download.thinkbroadband.com/1GB.zip > [complete_this]
我希望本地终端看起来就像我wget
在本地运行一样。只是为了澄清这个例子,不需要将wget
文件传输到客户端。只是服务器端的下载进度。
另一件事,如果客户端可以随时失去连接并重新连接以继续查看正在运行的标准输出,那将会很有帮助。
编辑: 我并不是想避免 ssh。我无法让客户端直接通过 ssh 执行命令来获取标准输出。服务器上有一个单独的程序选择执行,我只是重定向命令stdout。