1

次のコマンドを実行しています (変数には ssh コマンドの有効な値があり、$file は .sql ファイルです)。

nohup ssh -qn ${ssh_user}@${dbs} "sqlplus $dbuser/${dbpswd}@${dbname} <<ENDSQL | tee "${sql_run_output_file}".ssh.log
set echo off
set echo on
set timing on
set time on
set serveroutput on size 1000000
@${file}
ENDSQL
"

sshコマンドの前に「nohup」なしで上記のコマンドを使用していたとき、1時間ほど後、ソースサーバー(sshを実行している場所)からの接続で「接続リセット....」というエラー/メッセージが表示され、BASHがハングしていましたシェル スクリプト (この ssh コマンドが含まれています)。nohup を使用すると、接続の問題が表示されません。



これが私が手に入れようとしているものであり、あなたの助けが必要です.

  • 上記のコマンドを変更して、コマンドが nohup.out を作成しないようにします (| tee の代わりに > を使用できることを読みました... 2>&1 を使用します)。
  • 「&」(バックグラウンド)を指定してコマンドを実行したくありません
  • sshコマンド/接続(ソースサーバーから開始)を介してターゲットDBサーバーで実行されているsqlplusセッションのログファイルが必要です。

ありがとう。

4

1 に答える 1