SSHを介してリモートホストからログを含むリモートファイルを読み取る必要があります。
なぜ複雑なことをするのですか?以下は正常に動作するはずです。
ssh server "cat /path/to/file"
ページングが必要な場合.
ssh server "cat /path/to/file" |less
私が使う:
ssh -t user@Host "less ~/path/to/log.file"
-t
はsshにターミナルを割り当てます。これにより、リモートファイル全体をローカルコンピューターにストリーミングせずに、ローカルで実行しているかのようにless
と対話できます。
私が言う最も便利なは sshfs です。
Vi、nano、lessなど.
ファイルをダウンロードしてクライアント側/あなたの側で開くのではなく、リモートホストでプログラムを使用してそこでファイルを開くべきだと思います。
私が知る限り、「vi」や「less」などのLinux編集/読み取りツールはファイルを1行ずつ読み取るため、ログファイル全体を開く必要はありません。パーツを開いてsshを介して転送するだけです。あなたが読んでいる。他のオペレーティングシステムにも同様のプログラムがありますが、名前を思い出せません。
SSHでクライアントリーダーにファイルを部分ごとにロードする方法があるかどうかはわかりません。
ワーナーの提案に従いましたが、ログファイルが非常に大きくなる可能性があるという事実に対応しています。
ssh server "tail -n 300 /path/to/log" | less
ログファイル全体ではなく、最後の300行がページ送りされます。