Renomeação remota de um arquivo no compartilhamento Samba via script Bash

1

Estou executando um script Bash no Cygwin, mas essa questão se aplica mais amplamente.

Eu tenho um arquivo remoto: //someremoteserver/somefile.db

Esse caminho "//" está sob o Cygwin - é essencialmente um nome de caminho UNC em uma rede Windows (neste caso), então chame-o de Samba.

O arquivo é grande: 50 GB.

Quero renomear tudo no final remoto:

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

Eu gostaria que isso levasse 5 nanossegundos, porque é apenas uma renomeação. Mas leva duas horas. Isso parece ser porque na verdade ele está copiando o arquivo através do espaço de memória da máquina local - ele está movendo 50 GB pela LAN (ou talvez até 100 GB se ele estiver copiando e copiando).

Normalmente, em um sistema local, um "mv" é instantâneo, independentemente do tamanho do arquivo, porque está atualizando apenas a tabela inode / file.

Existe uma boa maneira de fazer o mesmo quando o arquivo está em um compartilhamento remoto do Samba?

    
por Dan 04.05.2013 / 00:20

1 resposta

0

Normally on a local system a "mv" is instantaneous regardless of file size because it's only updating the inode/file table.

Exatamente. Eu imagino que você vai querer chamar renomear / mv do host que contém o sistema de arquivos.

    
por 04.05.2013 / 03:31

Tags