Come posso verificare l'integrità di un file di dump di Sybase, senza provare a caricarlo?

StackOverflow https://stackoverflow.com/questions/288582

  •  08-07-2019
  •  | 
  •  

Domanda

Ecco lo scenario: un client carica un file di dump Sybase su (gzipped) sul nostro server FTP locale. Abbiamo un processo automatizzato che li raccoglie e li sposta su server diversi all'interno della rete in cui risiede il server del database. Sfortunatamente, questo trasferimento è su una WAN, che per file di grandi dimensioni richiede molto tempo e talvolta i nostri clienti dimenticano l'FTP in modalità binaria, il che si traduce in 10 GB di trasferimento sulla nostra WAN tutto per niente poiché il file di dump non può essere caricato d'altra parte. Quello che mi piacerebbe fare è verificare l'integrità del file di dump sul server locale prima di inviarlo tramite la WAN, ma non posso semplicemente provare e " caricare " il file di dump, in quanto non è installato Sybase (e non è possibile installarlo). Ci sono strumenti o bit di codice che posso usare per fare questo?

È stato utile?

Soluzione

Ci sono alcune cose che puoi fare dalla riga di comando. Il primo, sul lato di invio, è generare md5sum dei file.

$ md5sum *.dmp
2bddf3cd8b04010183dd3295ce7594ff  pubs_1.dmp
7510e0250c8d68bae3e0e794c211e60b  pubs_2.dmp
091fe54fa5fd81d8c109cc7835d37f4a  pubs_3.dmp

Sul lato client, possono eseguire lo stesso. In secondo luogo, in genere i dump Sybase vengono eseguiti con l'opzione di compressione. Se si utilizza questa opzione, è anche possibile verificare l'integrità dei file decomprimendo i file tramite la riga di comando. Questo non è completo, ma verificherà il checksum CRC-32 a 8 byte che fa parte dell'algoritmo di compressione.

$ gunzip --test *.dmp
gunzip: pubs_3.dmp: unexpected end of file

Nessuno di questi metodi conferma che Sybase sarà in grado di caricare il file, ma aiuta a garantire che il file non sia corrotto.

Altri suggerimenti

Non è possibile verificare realmente l'integrità del file di dump senza caricarlo in alcun modo da un server di backup. Il client deve sapere se il dump ha esito positivo o meno tramite il registro di backup o l'output durante il dump.

Ma per risolvere il tuo problema dovresti usare SFTP o SCP, tutti i trasferimenti sono fatti in binario, alleviando il tuo problema.

Assicurati che utilizzino anche la compressione nel dump un valore 1-3 è più che sufficiente, questo dovrebbe ridurre anche il traffico di rete.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top