从ssh和镜像尾部到一个本地文件

要通过SSH来挂接文件,我可以使用

ssh -t remotebox "tail -f /var/log/remote.log" 

但是,可以将尾部与本地文件同步? 那么一个文件会自动镜像tail命令的更新?

是的,你可以使用以下方法:

 ssh -t remotebox "tail -f /var/log/remote.log" | tee -a /var/log/local.log 

这种方式输出将被打印在两个标准输出,并复制到您正在运行ssh命令的系统上的/var/log/local.log。

只需redirect标准输出。

ssh -t remotebox tail -f /var/log/remote.log > local.log

追加到local.log:

ssh -t remotebox tail -f /var/log/remote.log >> local.log

这将写入本地服务器。

只有在引号中包含redirect的情况下才会写入远程服务器:

ssh -t removebox "tail -f /var/log/remote.log >> remote.log"

只是build议另一个有用的方法是使用logtail。 将logtail软件包安装到远程主机,然后运行它以仅获取上一次没有被读取的新行:

 ssh remotebox logtail -f /var/log/remote.log >> local.log 

每当你想要“同步”日志,你可以运行上面的命令,或者你可以将它添加到crontab,所以它可以自动运行。 当你没有一个稳定的连接时,这种方式是非常有用的,所以你不能一天一天保持ssh连接。

希望这个帮助。