Estou tentando copiar arquivos em um compartilhamento de rede de uma pasta para outra, então estou apenas copiando e colando, tenho o TeraCopy instalado e ele mostra uma velocidade de 2KB/s a 7KB/s.
Estou trabalhando em casa e o compartilhamento é acessado via VPN.
Minha pergunta é: isso é como uma cópia normal em minha própria máquina? Os arquivos estão indo da pasta A para a pasta B sem passar pelo meu computador? Devo iniciar a operação de cópia via terminal na máquina de destino? Em caso afirmativo, como inicio a operação de cópia e a deixo em execução mesmo se eu desconectar/fechar a janela do terminal?
Depende do software e do protocolo usado. Execute o “Gerenciador de Tarefas” e observe o gráfico de uso da rede para descobrir – se você copiar um arquivo grande e observar um aumento no gráfico da “Rede”, então ele está passando pelo seu computador.
SMBv3 (compartilhamento de arquivos padrão do Windows) suporta "cópia do lado do servidor" opcional , onde o cliente SMB pode dizer ao servidor para copiar de A para B e tudo acontece no lado do servidor. No entanto, este é um recurso opcional e não há garantia de suporte em todos os servidores; nesse caso, a única opção restante seria fazer todas as cópias no lado do cliente, onde seu computador precisa baixar tudo de A e depois fazer upload de volta para B.
Além disso, a "cópia do lado do servidor" só terá efeito se o software cliente usar especificamente a operação - por exemplo, a função de cópia integrada do Windows faz, mas o TeraCopy provavelmente não . (Essas ferramentas implementam deliberadamente a cópia do zero para tornar as coisas mais rápidas localmente, mas a desvantagem é que muitas vezes ignoram ou esquecem essas otimizações.)
Portanto, se o TeraCopy usa a abordagem tradicional para cópia de arquivos (ler de A, gravar em B, ler de A, gravar em B), então tudo realmente passa primeiro pelo seu computador – e depois volta para o servidor, passando pela VPN nos dois sentidos. .
(Também pode ser um servidor antigo ou NAS executando software desatualizado que não suporta cópia do lado do servidor, ou pode até ser um servidor usando o obsoleto SMBv1, caso em que a cópia precisa passar novamente pelo seu computador porque não há outra maneira de fazer isso.)
Com um servidor Linux ou BSD, existem duas opções:
Se você deseja apenas um método disparar e esquecer, execute o comando copy como
nohup <cmd> &
(por exemplo,nohup cp -av /this /that &
).Se você quiser algo persistente (para verificar mais tarde), primeiro execute
tmux
ouscreen
se algum deles estiver instalado, execute seus comandos dentro - isso cria uma sessão persistente que você pode anexar novamente mais tarde para ver o status/progresso (por exemplo,tmux a[ttach]
ouscreen -R
) .Não tenho certeza se os servidores Windows têm alguma opção equivalente para executar um processo desanexado por meio de SSH ou PS-Remoting, mas se você se conectar via Área de Trabalho Remota, a cópia deverá continuar em execução após a desconexão.
(A menos que o servidor tenha sido configurado deliberadamente para desconectar você após a desconexão; nesse caso, não há nada que você possa fazer.)
Você também pode fazer a cópia de um terminal local usando
robocopy \\nas\old \\nas\new /e
(a ferramenta robocopy vem integrada no Windows).