Zim*_*bby 23 linux freebsd bsd file-transfer multiplexing
我已经将大量数据从一台机器发送到另一台机器。如果我使用 rsync(或任何其他方法)发送,它将以稳定的 320kb/sec 进行。如果我一次启动两到三个传输,每个传输将达到 320,如果我一次执行四个传输,它们将使链接最大化。
我需要能够尽可能快地发送数据,所以我需要一个可以对文件传输进行反向多路复用的工具。我需要一个通用的解决方案,所以在源机器上运行 split 并将它们放在另一端是不切实际的。我需要它以自动化方式工作。
有没有工具可以做到这一点,还是我需要自己制作?发送方是 CentOS,接收方是 FreeBSD。
小智 31
证明这一切加起来 - 我提出了远程镜像命令的“圣杯”。感谢 davr 的lftp建议。
lftp -c "mirror --use-pget-n=10 --verbose sftp://username:password@server.com/directory"
Run Code Online (Sandbox Code Playgroud)
以上将递归镜像远程目录,在传输时将每个文件分成 10 个线程!
小智 8
如果您使用的文件很少而且很大lftp -e 'mirror --parallel=2 --use-pget-n=10 <remote_dir> <local_dir>' <ftp_server>:您将下载 2 个文件,每个文件分为 10 个段,总共有 20 个 ftp 连接<ftp_server>;
如果您有大量小文件,则使用lftp -e 'mirror --parallel=100 <remote_dir> <local_dir>' <ftp_server>:您将并行下载 100 个文件而无需分段,然后。总共将打开 100 个连接。这可能会耗尽服务器上的可用客户端,或者可能导致您在某些服务器上被禁止。
您可以使用--continue来恢复作业 :) 和-R上传而不是下载的选项(然后将参数顺序切换为<local_dir> <remote_dir>)。
您的数据是如何构建的?几个大文件?几个大目录?您可以在目录树的特定分支上生成多个 rsync 实例。
这完全取决于源数据的结构。有大量的 UNIX 工具可用于对文件进行切片、切块和重组。
| 归档时间: |
|
| 查看次数: |
28610 次 |
| 最近记录: |