记录在不同进程中运行的脚本的输出

时间:2013-06-03 16:30:10

标签: linux shell logging sh

我正在不同数据库之间复制几个sql表。对于每个表,都准备了单独的脚本,其中包含DROP..CREATE..AS SELECT..个操作以及一些用于日志目的的PROMPT..SELECT SYSDATE..操作。所有输出信息(Table dropped, Table created, etc.)必须收集在一个文件中。

我试过那段代码:

sqlplus -S user/password/sid @CopyScript1.sql > Output.log &
sqlplus -S user/password/sid @CopyScript2.sql > Output.log &
sqlplus -S user/password/sid @CopyScript3.sql > Output.log &
wait

根据需要复制表,但日志文件完全混乱:

Elapsed: 00:00:00.00
TABLE1 table creation b
Tabl
Table dropped.

Elapsed: 00:00:0
Table created.

Elapsed: 00:00:01.43

03-06-2013 19:18:45

Elapsed: 00:00:00.00
TABLE2 table creation end
end
n end

我应该更改什么才能获得正确的日志?


编辑: 每个日志条目可以包含多行(SYSDATE和1+条注释行,以及最终完成操作的时间,f.ex。:

(00:00:14)
2013-06-04 02:08
Provided example of log entry
can consist of more than 1 line

结果文件中的日志条目应按输入日期排序。

1 个答案:

答案 0 :(得分:0)

将每个查询记录到另一个文件,然后使用“cat * .log”将它们重新组合在一起。