要通过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连接。
希望这个帮助。