私はfd = 3のデータとstdoutとstderrの興味深いデータを大量に生成するリモートホスト上にbashスクリプトを持っています。私はしたい:sshを介して3本のデータパイプを送るには?
- 私のローカルマシンのファイルにstdoutとstderrを記録する。
- ローカルマシン上のfd = 3のデータをstdoutに書き込みます。
exec 3> >(cat) ./big_script.sh -o /dev/fd/3 2>&1 >big_script.log exec 3>&-
しかし、私は、リモートマシン上でbig_script.sh実行し、すべての3本のパイプ(FD = 1、FDを持つようにしたい。ここでは
は私の大きなスクリプトがローカルであれば、それは行うことができる方法です= 2、fd = 3)がsshプログラムから別々に出てきます。それには最善の方法は何ですか?
これは非常に魅力的な選択肢です。私には小さな問題が1つあります。実際にはローカルマシン上にbig_script.shを呼び出すいくつかのプロセスがあります。トンネルを構築してリモートマシン上で同じポートを使用しないようにするにはどうすればよいですか? – User1
おそらくnetstat -lnptとgrepがすでに使用されていますか?それはおそらく複数の接続で長いスクリプトを作成するでしょう...あなたは同時実行性を管理する必要があると言っていません –
netcat?古い。 socatを使用します。 – user502515