サーバー データベース間の接続を確認するスクリプトを作成しようとしています。
そのためにはログをキャプチャする必要がありますが、ログはファイルではなく画面に表示されます。
ファイル:
main.scr
#!/bin/ksh
server[0]="database1_tcp"
server[1]="database2_tcp"
server[2]="database3_tcp"
for i in "${server[@]}";
do
query.scr $i>>log_test.dat
done
クエリ.scr
#!/bin/ksh
DBACCESS testdb << EOSQLF
SELECT *
FROM testdb@$1:some_table
EOSQLF
log_test.dat:
checking the connectivity for server: database1_tcp
field1 field2
A A
***********************************************
checking the connectivity for server: database2_tcp
***********************************************
checking the connectivity for server: database3_tcp
field1 field2
A A
***********************************************
端末出力
main.scr を実行すると画面に表示される内容:
Database selected.
1 row(s) retrieved.
Database closed.
Database selected.
908: Attempt to connect to database server (database2_tcp) failed.
Error in line 3
Near character position 1
Database closed.
Database selected.
1 row(s) retrieved.
Database closed.
画面に表示されるメッセージを何らかのログ ファイルに送信する方法はありますか、それともより良い方法を提案できますか?