Suponho que sua unidade externa esteja conectada via USB, eSATA, Firewire ou similar. Em qualquer um desses casos, a unidade aparecerá no computador host como um dispositivo de bloco e o host "falará" no disco rígido como se fosse um disco rígido interno. Esse é o objetivo de ter a classe de dispositivo "armazenamento em massa USB".
Isso também significa que os dados precisam ser colocados na rede na maneira exata em que eles devem aparecer no disco rígido. Não há um esquema que comprime dados no host, envia os dados compactados pela conexão USB e, em seguida, é descompactado de forma transparente logo antes que os dados não compactados agora sejam armazenados na mídia física. Portanto, você precisa compactar os dados antecipadamente, no disco de origem, ou passar por truques (por exemplo, colocando um NAS entre e usando um protocolo de rede de compactação).
Acrescente-se que, a menos que você tenha dados muito específicos e bem compactáveis, é provável que obtenha taxas de compactação muito ruins. Se a maior parte dos 80 GB forem feitos de vídeos, imagens e afins, você pode até obter proporções negativas, pois eles já são altamente compactados usando algoritmos muito especializados.
Em qualquer caso, obter uma taxa de compactação significativa incorre em quantidades pesadas de tempo de CPU. Você pode obter uma estimativa aproximada de quanto custará a você por meio de uma experiência simples: tente compactar qualquer arquivo de 1 GB com 7zip nas configurações mais altas e medir o tempo. Em seguida, avalie quanto tempo leva para descomprimir o resultado.
A maioria dos algoritmos de compactação é otimizada para a velocidade de descompressão, já que isso geralmente é feito com muito mais frequência. Ainda assim, haverá uma penalidade de desempenho perceptível ou mesmo significativa, e você estará pagando essa penalidade toda vez que acessar os dados compactados.
Or would the time it takes to compress and decompress take longer that the amount of copying time it will save?
Also any pointers I should be wary of before I begin that could maybe speed up the process?
Se tudo o que você deseja realizar é obter os dados de sua unidade de origem em sua unidade externa, a cópia provavelmente já estará concluída quando você receber a resposta aqui. : o) Especialmente desde que 80 GB não são mais tão importantes; assumindo um número de 10 MB / s, você esperará menos de três horas. A compactação de 80 GB levará muito mais tempo.
Algo que mérito considere, embora seja transferências interrompidas . Ter que reiniciar essa transferência de 80 GB na marca de 95% e ter que reiniciar do zero é… irritante, para dizer o mínimo. A ferramenta canônica, nesse caso, é rsync
, o que pode economizar muito tempo, muito mais do que a compactação pode oferecer. O preço é um pequeno investimento em como usá-lo, mas você não terá uma penalidade de desempenho na leitura dos dados depois, o que é uma grande vantagem.
TL; DR: Pelo que eu recebi da sua pergunta, rsync
(ou similar) é o caminho a ser seguido. Exceto por circunstâncias muito específicas, a compressão será um grande desperdício de tempo.