最近由于建DB2 HADR, 需要sftp一个很大的数据库备份从primary db server到Auxiliary db server,网络传输速度很慢,一个文件传输估计需要3天,就想着把这个大的数据库备份文件切分成多个小文件,然后多个文件一起传输。
#!/usr/bin/ksh
filename="BLUDB.0.db2inst1.DBPART000.20170927032040.001"
split -b 200m ${filename} ${filename}_part
ls -l ${filename}_part* | sort -k 9 | awk '{print$9}' > fileparts.list
cat fileparts.list | while read partname
do
scp ${partname} targetserver:/db/db2inst1/db2backup &
sleep 5
done
3个小时,数据传输完毕,然后在Auxiliary db server使用cat命令把文件组装成原来的大文件,