我想使用 netcat 定期将文件传输到网络上的媒体服务器。但是,我无法弄清楚如何(或者是否可能)执行类似的操作nc -l 5959 > /media/data/
,其中传入的 nc 数据仅作为发送者命名的任何文件存储在目标目录中。
这可能吗?我不介意使用 scp,但对于大量数据来说它的速度非常慢。
答案1
在接收端:
nc -l -p 5959 | ( cd /media/data; cpio -idmv )
在发送端:
find /some/dir -type f -print | cpio -oa | nc machine 5959
但是,您确实应该考虑使用scp
:
cd /some/dir
scp -r . user@machine:/media/data