1

使用NetCat 复制我正在尝试通过 NetCat 通过网络复制文件。从控制台它工作得很好。首先,我在目标机器上运行监听 netcat,然后在源机器上运行发送。

问题是它不能从源机器的脚本中工作:

ssh -f 用户@$desthost 'nc -l 1234 | tar xvf - > /dev/null &' #listening on destination host

tar cv /tmp/文件 | nc $desthost 1234 #发送到目标主机

我看到运行端口 1234 后仍然是打开的,并且套接字的状态是 TIME_WAIT。

如果你知道是什么问题,请帮帮我。

顺便说一句,复制后如何验证内容是否相同?

谢谢!

附录:

我发现了一件非常奇怪的事情,与目标工作上的屏幕相同的实现可以工作,但不稳定,有时它不会复制文件。

ssh user@$desthost screen -dm -S test 'nc -l 1234 | tar xvf - ' #在目标主机上监听

也许超时有问题?

4

1 回答 1

1

你不需要netcat: http ://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

您只需要一个 ssh 连接。

然后使用 md5sum 比较文件。首先检查文件大小也很聪明..

于 2012-04-15T15:00:01.000 回答