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.