通过Bash脚本远程重命名Samba共享文件

我正在Cygwin下运行一个Bash脚本,但这个问题更广泛地适用。

我有一个远程文件://someremoteserver/somefile.db

这个“//”path在Cygwin下 – 它本质上是一个Windowsnetworking上的UNCpath名(在本例中),所以称之为Samba。

该文件很大:50 GB。

我想在远端重新命名它:

mv //someremoteserver/somefile.db //someremoteserver/someotherfile.db

我想这需要5纳秒,因为它只是一个重命名。 但需要两个小时。 这似乎是因为它实际上是通过本地机器的内存空间来复制文件 – 它在整个局域网上移动了50 GB(如果是copy-here,那么甚至可能是100 GB)。

通常在本地系统上,“mv”是即时的,不pipe文件大小如何,因为它只更新inode / file表。

当文件位于远程Samba共享上时,是否有一种很好的方法来做同样的事情?

通常在本地系统上,“mv”是即时的,不pipe文件大小如何,因为它只更新inode / file表。

究竟。 我想你会想要从包含文件系统的主机调用重命名/ mv。