você está aqui: Home  → Arquivo de Mensagens

Fatiamento de arquivos para transferência em links de baixa qualidade

Colaboração: Roberto Baronas

Data de Publicação: 22 de Março de 2005

A transferência de grande quantidade de dados entre servidores UNIX distantes, servidos por links de telecomunicação de baixa qualidade às vezes é um problema que nos causa grandes dissabores, principalmente devido às frequentes interrupções que possam ocorrer.

No meu caso, uma solução caseira que resolveu em definitivo o problema de transferência de quatro arquivos de +-600Mb entre o Brasil e a Bolívia, num link de baixa velocidade foi a seguinte:

Usei o comando split conforme mostrado abaixo, para fatiar os arquivos de 600Mb em aproximadamente oito arquivos de 80Mb cada:

  split -b 80m o92dk1.tar dk1

Esse comando, pegou o arquivo o92dk1.tar com aproximadamente 600Mb de tamanho e o quebrou em fatias com o tamanho máximo de 80Mb, no caso, oito fatias, prefixadas pelo string dk1.

O resultado do que ocorreu pode ser visto abaixo:

  -rw-r--r-- 1 oracle dba 649144320 Feb 3 15:17 o92dk1.tar 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:52 dk1aa 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:52 dk1ab 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:52 dk1ac 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:52 dk1ad 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:52 dk1ae 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:53 dk1af 
  -rw-r--r-- 1 root sys 83886080 Feb 15 16:53 dk1ag 
  -rw-r--r-- 1 root sys 61941760 Feb 15 16:53 dk1ah 

A restauração pôde ser feita via comando cat, da seguinte forma:

  cat dk1aa dk1ab dk1ac dk1ad dk1ae dk1aaf dk1ag dk1ah > novo_arquivo 

Assim, pudemos, transmitir as fatias, e em caso de queda de link, perderiamos somente a fatia que estava sendo transmitido no momento da queda. As fatias já transferidas estavam salvas.

Para testar a integridade dos arquivos, bastou utilizar o comando cksum no arquivo original o92dk1.tar e no arquivo de destino arquivo_novo. Os números do resultado devem ser os mesmos para ambos os arquivos. Abaixo temos um exemplo:

  cksum o92dk1.tar 
  97395000 649144320 o92dk1.tar 
  
  cksum arquivo_novo
  97395000 649144320 arquivo_novo

O valor verificador encontrado foi o número 97395000 para os dois arquivos, o que provou a integridade dos mesmos.

Finalmente, temos um exemplo do script que foi utilizado no servidor de destino para efetuar a transferência dos arquivos:

  ftp -n -i -v arcturus.ho.u2236.unilever.com << eod >>zz_ftp.log 2>&1
  user usuario senha
  pwd lcd /diretorio_de_origem
  cd /diretorio_de_Destino
  get dk1aa 
  get dk1ab 
  get dk1ac 
  get dk1ad 
  get dk1ae 
  get dk1af 
  get dk1ag 
  get dk1ah 
  eod 

Sistema Operacional utilizado: HP-UX 11i ou 11.11

Bem, espero que esse procedimento lhes possa ser útil. No meu caso, ajudou, e muito...

Roberto Baronas



 

 

Veja a relação completa dos artigos de Roberto Baronas

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script