目前使用 cp 命令所实现的过程是 文件从 A 目录到客户机,再由客户机上传到 B 目录。。
而 win8 以后的系统对存储目录间的拷贝流量是不过本地中转的
我知道可以使用软链接的方式。。。但是目前的在使用的应用服务对软链接的支持有问题,所以还是想问问有办法像 win 一样的实现方式吗
就是由图一的方式变为图二的方式
下面这个是微软的图 1是传统拷贝 2是想要实现的方式。。。现在win默认就是第2种
1
ziseyinzi 2022-01-14 15:58:16 +08:00
你是指远程文件夹?同一个挂载点内不会走本机,跨挂载点就不行了。
|
2
ungrown 2022-01-14 19:36:15 +08:00
感觉你问题没描述清楚,是针对 CIFS/SMB 远程共享吗
|
3
learningman 2022-01-14 21:28:07 +08:00
拷贝是 fread 和 fwrite ,肯定是要过本地的,你得自己写驱动重载对应的 posix 接口,里面做判断是不是服务器端执行然后再传给服务器去执行
|
4
est 2022-01-14 22:30:57 +08:00 1
> 目前使用 cp 命令所实现的过程是 文件从 A 目录到客户机,再由客户机上传到 B 目录。。
你这个 cp 命令不是原装的把。。。 |
5
ltkun 2022-01-15 09:14:59 +08:00 via Android
既然知道软连接 那不还有硬链接呗
|
6
IvanLi127 2022-01-16 17:42:48 +08:00 via Android
你的 cp 有点 奇怪
|
7
GoodRui 2022-01-16 21:33:20 +08:00 via iPhone
scp 不行吗?
|
8
libook 2022-01-17 10:23:56 +08:00
拓扑是啥样的,描述看不大明白。
假设是从计算机 X 连到计算机 Y ,操作计算机 Y 上的 A 目录和 B 目录里的文件,如何才能让文件数据不经过计算机 X ,是这个意思吗? 这样的话,你从 X 上 SSH 到 Y ,然后在 Y 的环境下用 cp 命令就不会走 X 了,就像你在 Y 计算机直接使用 cp 命令一样。 |
11
hewitt29 OP 就是由图一的方式变为图二的方式
<img src="https://ablum.vercel.app/3.png" > <img src="https://ablum.vercel.app/4.png" > |
13
yanqiyu 2022-01-19 10:27:19 +08:00
Server Side Copy
https://wiki.samba.org/index.php/Server-Side_Copy 印象中是默认的啊,你的客户机的 coreutils 和内核版本,主机端服务器版本是多少?以及 samba 的配置文件长啥样? |
14
yanqiyu 2022-01-19 10:29:11 +08:00 1
客户端:
Linux Kernel support for FSCTL_DUPLICATE_EXTENTS_TO_FILE was added with kernel version 4.2, and can be issued via cp --reflink on supported systems with SMB3+ mounts. 服务器: Samba's smbd file server supports SMB2 Copy-Chunk requests by default, no additional configuration is required. 看看这些硬性要求有没有被满足 |