速度

速度

我想将 ~300G 文件从笔记本电脑传输到同一本地 WiFi 网络中的其他笔记本电脑,以进行备份。 (我唯一的外部硬盘的空间已经用完了,而且买不起任何东西。有人好心地将一台旧笔记本电脑放在垃圾箱里让我去发现。)现在两者都运行 Lubuntu。

传输文件最快、最可靠的方式是什么?通过 rsync、scp 或其他一些命令?您还可以给出一些具体的命令来传输例如两个目录(及其下的文件)吗?

与使用外部硬盘驱动器通过 USB 电缆依次物理连接到计算机并间接执行传输相比,您将使用的命令的传输速度如何,如果将来垃圾箱中有另一个可用的外部硬盘驱动器?

谢谢。

答案1

在机器 receive.example.com 上:

cd /destination
socat -u tcp-listen:33333,reuseaddr - | gunzip | pv -trab | bsdtar xpSf -

然后在机器 sender.example.com 上:

cd /source
bsdtar cf - . | pigz -3 | socat -u - tcp:receiver.example.com:33333

传输速度将取决于您的 WiFi 连接的速度和可靠性以及数据的可压缩程度(如果笔记本电脑确实很旧且压缩最终成为瓶颈,则可能取决于 CPU 的速度)。

您可能需要安装bsdtarpigzsocat软件包pv

答案2

rsync是一个相当标准的文件传输工具。其优点之一rsync是它可以恢复中断的传输。

它用于ssh通过网络传输数据:

rsync [OPTION...] SRC... [USER@]HOST:DEST

例如(-a存档、-z压缩、-v详细):

rsync -avz /local/path user@remote:/remote/path

您还可以用于rsync复制到本地路径(外部 HDD、NFS 安装等)。

答案3

1> 访问 MediaMarkt
2> 购买 500GB USB 硬盘
3> 将数据传输到该硬盘上
4> 将硬盘插入目标计算机
5> 在目标计算机上传输数据

(考虑 HDD)USB2 ~25MiB/s、USB3 ~80MiB/s、
以太网 100Mbps ~12MiB/s、以太网 1Gbps ~120MiB/s

答案4

我使用这两个 netcat ( nc) 脚本来发送/接收目录树

  • 发送方需要知道接收方IP
  • 接收器需要从将打开接收目录的父目录运行
  • 接收器需要在发送器之前启动
  • 假设两台linux(或具有netcat)计算机在同一个网络上
  • 并且在步行(或穿过走廊大喊)的距离内。如果您需要更多时间来激活发送器,请调整接收器的 30 秒 (-w 30) 部分
  • 如果您更喜欢发送/接收文件而不是目录,请将 tar 管道更改为文件重定向

收件人

$ cat recvnc 
# Receives a directory
# Should be run from parent directory
nc -vv -w 30 -p 5600 -l |tar zxv
$

发件人

$ cat sendnc
# $1 is directory to send $2 is other IP

if [ "$#" -ne 2 ] && ! [ -d "$1" ]; then
  echo "Usage: $0 directorytoSend otherIP"
  exit 1
fi
tar zcv $1 |nc -vv -n -w 2 $2 5600
$

速度

  • 我相信,如果您在两台机器之间背靠背插入以太网电缆,您将获得最佳速度。
  • 他们当然需要获得 IP
  • ……那是不一样的!

通过路由器(等)也可以,但您可以预期路由器比铜缆慢!

Wifi 也可以使用,但速度仍然较慢

相关内容