【发布时间】:2014-01-11 22:39:27
【问题描述】:
场景: 我必须将大约 3000 个文件,每个 30 到 35 MB 从一台服务器传输到另一台服务器(两台服务器都是 IBM-AIX 服务器)。 这些文件为 .gz 格式。它们在目的地使用 gunzip 命令解压到 b 使用。
我现在的做法: 我制作了 .sh 文件,每个文件包含 500 个文件的 ftp 脚本。这些 .sh 文件在运行时,将文件传输到目的地。在目的地,我继续检查有多少文件到达,一旦有 100 个文件到达,我对这 100 个文件运行 gunzip,然后对接下来的 100 个文件再次运行相同的文件,依此类推。我为一批 100 个运行 gunzip 只是为了节省时间。
我在想什么: 我正在寻找可以将我的文件 ftp 传输到目的地的命令或任何其他方式,并且一旦传输了 100 个文件,它们就会开始解压缩 但,此解压缩不应暂停传输剩余文件。
我尝试过的脚本:
ftp -n 192.168.0.22 << EOF
quote user username
quote pass password
cd /gzip_files/files
lcd /unzip_files/files
prompt n
bin
mget file_00028910*gz
! gunzip file_00028910*gz
mget file_00028911*gz
! gunzip file_00028911*gz
mget file_00028912*gz
! gunzip file_00028912*gz
mget file_00028913*gz
! gunzip file_00028913*gz
mget file_00028914*gz
! gunzip file_00028914*gz
bye
上述代码的缺点是当
! gunzip file_00028910*gz
lines 正在执行,下一批的 ftp 即 (file_00028911*gz) 的 ftp 被暂停,因此浪费了大量时间和带宽利用率损失。 这 !标记用于在 ftp 提示符下运行操作系统命令。
希望我已经正确解释了我的情况。如果我得到解决方案,将更新帖子,如果有人已经有解决方案,请回复。
问候 亚什。
【问题讨论】:
-
你可以使用rsync吗?此外,scp 可以使用动态压缩进行复制(即选项“-C”)。
标签: ftp aix nonsequential