使用Copying by NetCat我正在尝试通过 NetCat 在网络中复制文件。从控制台它工作得很好。首先,我在目标计算机上运行监听netcat,然后在源计算机上运行发送。
问题是它无法从源机器的脚本中运行:
ssh -f user @ $ desthost'nc -l 1234 | tar xvf - > / dev / null&'目标主机上的#listening
tar cv / tmp / file | nc $ desthost 1234 #sending to destination host
我看到在运行端口1234后仍然处于打开状态,套接字的状态为TIME_WAIT。
如果您知道问题是什么,请帮助我。
顺便说一句,在复制后如何验证内容是否相同?
谢谢!
附录:
我发现了一个非常奇怪的事情,与目标工作中的 screen 相同的实现,但不稳定,有时它不会复制文件。
ssh user @ $ desthost screen -dm -S test'nc -l 1234 | tar xvf - '目标主机上的#listening
也许超时存在问题?
答案 0 :(得分:1)
你不需要netcat: http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/
您只需要一个ssh连接。
然后使用md5sum比较文件。首先检查文件大小是明智的..