Criando 2 partes zip a partir do byte específico

0

Eu tenho um diretório de 7 GB no meu servidor e quero baixá-lo no meu PC. Eu arquivei com este comando:

zip -9 -r sc.zip FOLDER/

Eu baixei para o meu PC. Mas o arquivo ZIP com mais de 4 GB gera um erro Arquivo muito grande porque estou usando o FAT32. Então eu baixei 4294966367 bytes (cerca de 4G) do arquivo zip e o download parou. É possível rearchive a pasta com 2 partes, mas a primeira parte será exatamente 4294966367 bytes e a segunda parte deve ser iniciada a partir do byte 4294966368. Depois disso, espero que eu só precise fazer o download da segunda parte e usar o arquivo anterior de 4 GB baixado como primeira parte.

Logo, eu já baixei 4 GB de um zip, agora não quero baixar novamente do zero. É possível redirecionar o diretório a partir do 4º GB?

1ª atualização: Eu sei que posso usar o parâmetro -s mas ele está ficando com kilobytes mínimos, não bytes.

segunda atualização: Eu dividi o grande arquivo .zip com este comando:

split -b 4294966367 -d sc.zip sc-part

Agora existem sc-part00 e sc-part01. Eu baixei esses 2 arquivos e juntei-os em um arquivo .zip com este comando:

cat sc-part* > file.zip

No entanto, há um erro ao tentar descompactá-lo:

    
por Eray 20.05.2015 / 00:43

2 respostas

1

% bl0ck_qu0te%

Você tem: Arquivo completo de 7 GB dividido em duas partes, primeiro de 4 GB e segundo de 3 GB. Então, parece-me que unzip não conseguiu encontrar o byte mágico zip até atingir 3201769769 . Se você verificar com precisão 3201769768 é o tamanho da segunda parte.

Basicamente, você trocou a ordem das partes quando se juntou a cat . Para verificar:

  • Experimente trocar partes: cat sc-part01 sc-part00 > file.zip
  • Verifique suas somas de verificação md5sum sc-part* para aquelas no servidor e aquelas na máquina local.

BTW, há muitas maneiras de enviar arquivos em um byte definido. Exemplo:

  • tail -c <remaining-size> <source-file> > <destination-file>
  • dd if=<source-file> iflag=skip_bytes skip=<number-of-bytes-to-skip> of=<destination-file>
por user.dz 06.06.2015 / 14:48
0

Resposta fácil: dividir o diretório em dois diretórios de tamanho igual e zipar cada um deles. Em seguida, descompacte-os e recombine-os no seu computador.

Eu vejo que você está em um Mac. tente isso:

scp -R [username]@[server_ip]:[directory_path] ./

Isso deve fazer a coisa toda sobre o SSH, supondo que você tenha configurado.

    
por Daniel 08.06.2015 / 05:23