Como posso mover arquivos pela rede? -- autônomo/lida com erros sem esperar pela entrada do usuário?

Como posso mover arquivos pela rede? -- autônomo/lida com erros sem esperar pela entrada do usuário?

Ocasionalmente, movo muitos arquivos (mais de 50 GB) de um disco rígido para outro pela minha LAN. Isso demora um pouco. Costumo voltar e descobrir que ele parou em algum lugar aguardando a entrada do usuário quando há um problema com um arquivo específico (Cancelar, Ignorar, Ignorar tudo ou qualquer outro). É claro que eu poderia apenas esperar pelo primeiro erro e selecionar 'Ignorar tudo', mas essa é uma solução muito ruim - sem registro, é preciso esperar.

Estou fazendo isso no Nautilus.

Eu sei que deve haver uma maneira melhor de fazer isso. Gostaria de poder ignorar automaticamente todos os arquivos problemáticos e gerar um arquivo de log que me informasse quais arquivos não foram movidos e qual era o problema com cada um desses arquivos.

Existe uma ferramenta ou script que fará isso?

Responder1

Você já tentou o rsync?

É um utilitário de linha de comando, portanto não é tão fácil de usar quanto o Nautilus, mas a linha de comando é a melhor para automatizar as coisas que você deseja. O rsync realmente tentará transferir o máximo possível, registrará todos os erros e, como apenas transmite as "diferenças" ou alterações, é "barato" apenas executá-lo novamente para sincronizar as coisas novamente.

Além do rsync, você precisa instalar o openssh-server no(s) computador(es) receptor(es) e fazer algo assim:

rsync -avu --progress source_folder remote-computer.local:Desktop/

a pasta será enviada para o computador remoto e colocada na área de trabalho.

Em vez de computador remoto.local, você pode usar um endereço IP se souber o IP do sistema de destino, mas por padrão o domínio .local deve funcionar, portanto, se o nome do host de um computador for "buckaroo", você pode simplesmente especificá-lo como buckaroo.local.

informação relacionada