我试图使用并行的文件传输程序bbcp,但似乎有一些解析问题,我无法弄清楚。我运行以下命令并得到以下输出—
命令——
cat testfiles.log | parallel --will-cite -j 5 bbcp -4 c -r -z -Vv -P 2 -S "ssh -x -a -oFallBackToRsh=no %I -l %U %H module load bbcp; bbcp" {} ./testing_parallel/
输出——
bbcp: /source/path is a directory.
bbcp: Network is unreachable unable to connect to port [::ffff:IP]:PortNumber
bbcp: Unable to allocate more than 0 of 4 data streams.
bbcp: Accept timed out on port PortNumber
bbcp: Unable to allocate more than 0 of 4 data streams.
Usage: bbcp [Options] [Inspec] Outspec
Options: [-a [dir]] [-A] [-b [+]bf] [-B bsz] [-c [lvl]] [-C cfn] [-D] [-d path]
[-e] [-E csa] [-f] [-F] [-g] [-h] [-i idfn] [-I slfn] [-k] [-K]
[-L opts[@logurl]] [-l logf] [-m mode] [-n] [-N nio] [-o] [-O] [-p]
[-P sec] [-r] [-R [args]] [-q qos] [-s snum] [-S srcxeq] [-T trgxeq]
[-t sec] [-v] [-V] [-u loc] [-U wsz] [-w [=]wsz] [-x rate] [-y] [-z]
[-Z pnf[:pnl]] [-4 [loc]] [-~] [-@ {copy|follow|ignore}] [-$] [-#] [--]
I/Ospec: [user@][host:]file
**bbcp: Value not specified for '-x'.**
如果我在没有并行的情况下单独使用命令,它会工作并且不会给出'value not specified'错误。知道怎么熬过去吗?
编辑1 -谁??
也许可以尝试改变命令的顺序。而不是:
"ssh -x -a -oFallBackToRsh=no %I -l %U %H module load bbcp; bbcp"
试题:
"module load bbcp; ssh -x -a -oFallBackToRsh=no %I -l %U %H bbcp"
- 一些版本的bbcp有点bug,很难使用。此外,我不确定您是否可以并行运行多个bbcp实例(它的多个实例将尝试在相同的端口上连接;所以你可能需要为每个实例指定端口范围)
- 在你的情况下,我建议使用lftp这样的替代方案,没有并行命令,但是有lftp的内置
--parallel[=N]
选项,它实现了你试图用GNU并行得到的同样的事情。