Come caricare file di grandi dimensioni su S3 con una connessione instabile?


9

Ho un sacco di file (tra 500 MB e 7 GB) che devo caricare su un bucket S3. La mia connessione è molto instabile.

Ho provato a caricare un file da 500 MB tramite s3cmdma è scaduto dopo che è stato eseguito il 91% (che ha richiesto 16 ore)

L'ho provato con CyberDuck, ma è successo lo stesso. Non è riuscito dopo circa il 20% e quando ho provato a riprovare il trasferimento, è ricominciato dall'inizio. CyberDuck dovrebbe avere un supporto multipart, ma immagino di no ...

Potrei dividere i file in file più piccoli come questo: Come posso dividere un file .zip in più segmenti? , ma preferirei non farlo a meno che non fosse la mia unica opzione. Qual è un buon programma che posso usare che mi permetterà di caricare file di grandi dimensioni su S3 con supporto per il ripristino?

Risposte:


6

Ho appena provato a usare s3tools (s3cmd-1.5.0-rc1). Ho ricevuto questo suggerimento dalle loro FAQ http://s3tools.org/kb/item13.htm . Vedi sotto.

S3cmd supporta caricamenti multipart?

Sì, l'ultima versione di s3cmd supporta i caricamenti multipart di Amazon S3.

I caricamenti in più parti vengono utilizzati automaticamente quando un file da caricare supera i 15 MB. In tal caso, il file viene suddiviso in più parti, ciascuna delle quali ha una dimensione di 15 MB (l'ultima parte può essere più piccola). Ogni parte viene quindi caricata separatamente e quindi ricostruita a destinazione al termine del trasferimento.

Con questa nuova funzione, se un caricamento di una parte fallisce, può essere riavviato senza influire su nessuna delle altre parti già caricate.

Esistono due opzioni relative ai caricamenti in più parti in s3cmd. Loro sono:

--disable-multipart

Disabilita i caricamenti multipart per tutti i file

e

--multipart-chunk-size-mb = TAGLIA

Dimensioni di ogni blocco di un caricamento in più parti. I file più grandi di SIZE vengono caricati automaticamente come multithreaded-multipart, i file più piccoli vengono caricati con il metodo tradizionale. DIMENSIONE è in Mega-byte, la dimensione del blocco predefinita è 15 MB, la dimensione minima consentita del blocco è 5 MB, il massimo è 5 GB.

Quindi, quando carico, scelgo la dimensione del blocco più piccola. Di seguito dovresti vedere la suddivisione e la ripresa del caricamento.

$ s3cmd put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/

some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 1 of 52, 5MB]
 5242880 of 5242880   100% in  164s    31.08 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 2 of 52, 5MB]
 5242880 of 5242880   100% in  193s    26.46 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 3 of 52, 5MB]
 2023424 of 5242880    38% in  135s    14.59 kB/s^CERROR: 
some_video.mp4' part 3 failed. Use
  /usr/local/bin/s3cmd abortmp s3://some_bucket/some_video.mp4 XXX_SOME_HASH_XXX
to abort the upload, or
  /usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put ...
to continue the upload.
See ya!

Quindi riprendo.

/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/

2

Credo in Cyberduck nella finestra dei trasferimenti, puoi fare clic con il tasto destro e selezionare riprendi.

Se questo non funziona, Cloudberry suports riprendere arrivi


Per qualche motivo in Cyberduck il mio curriculum non funziona per S3 in più parti. Qualche suggerimento?
f01

2

È possibile utilizzare FileZilla Pro per trasferire file da e verso un bucket S3. FileZilla Pro supporta il caricamento in più parti e in caso di errore riprenderà il trasferimento.

Per la cronaca viene fornito con molte altre funzionalità: supporto di file di grandi dimensioni, trasferimenti di massa, filtri, confronto di directory, ricerca di file remota, trascinamento della selezione, configurazione dei limiti di velocità.

Sono un membro del team di FileZilla Pro.

Ulteriori informazioni su https://filezillapro.com e su https://youtube.com/c/FileZillaPro


Si prega di notare che se si è in qualche modo affiliato al prodotto, è necessario rivelarlo nella propria risposta.
coriandoli

@confetti, scusa non lo sapevo. Non sono riuscito a trovare nulla di specifico nell'aiuto o nel codice di condotta. In realtà ho pensato che fosse proibito. Aggiunte le informazioni.
josuegomes,

Nessun problema, non riesco nemmeno a trovarlo nel testo di aiuto, quindi forse è qualcosa che le mod dovrebbero aggiungere, ma è sicuramente permesso! Potrebbe anche essere meglio in generale poiché le persone sanno di poter chiedere qualcosa di specifico al software nei commenti e ricevere una sorta di risposta "ufficiale". :)
coriandoli
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.