Estou copiando terabytes de dados de um sistema OLD OLD OLD *nix. Eu poderia gastar o dinheiro para comprar um novo hardware para conectar as unidades, mas quero evitar gastar dinheiro.
O sistema é péssimo. Ele congela e trava muito. Então eu tenho que reiniciar o processo de cópia toda vez. E leva muito tempo para "acompanhar" porque tem que "pular" os arquivos que já copiou.
Eu poderia usar, rsync
mas o sistema é tão lento que toda vez que eu começo uma rsync
verificação/comparação de inventário inicial demora um pouco.
Então pensei que poderia gerar uma lista única de todos os arquivos que precisam ser copiados e salvá-los em um arquivo. Então eu poderia ter um script que percorre o arquivo e copia esse arquivo e exclui essa linha. Se o script/cópia falhar no meio, eu poderia continuar de onde parou. Não sei como lidar/processar a parte que excluiria a linha da fila, mas ao tentar descobrir isso percebi que deve haver alguma ferramenta ou script disponível publicamente que já faça o que preciso.
Então o objetivo é que ele passasse por alguma fila de entrada de arquivos para copiá-los e copiá-los e, ao finalizar uma cópia, iria removê-la da fila. Eu não preciso disso para este caso de uso específico, mas deve ser capaz de acomodar novas entradas sendo adicionadas à fila. E, é claro, a fila deve ser baseada em arquivo para que possa ser continuada em caso de erro/problema do sistema.
Alguém sabe de um?
Embora seja recomendável usar uma ferramenta "profissional" comprovada para cumprir essa tarefa de maneira confiável, aqui está uma abordagem rápida e rápida para uma solução. A exclusão de uma linha em um arquivo pode falhar devido a problemas do sistema, portanto, manter os nomes dos arquivos copiados com êxito em um arquivo de log parece um pouco mais seguro. Crie um arquivo "todo" contendo os arquivos a serem copiados, por exemplo, redirecionando os
ls
resultados e um arquivo "log" vazio. Então corraSempre que isso for executado, os arquivos já copiados e registrados serão ignorados. Você pode querer
sort
os arquivos "todo" para evitarcomm
o aviso de "arquivo não está em ordem de classificação".