2008-11-13 7 views
2

Voici le scénario: un client télécharge un fichier de vidage Sybase vers (gzippé) sur notre serveur FTP local. Nous avons un processus automatisé qui ramasse ces derniers et les déplace ensuite vers un serveur différent dans le réseau où réside le serveur de base de données. Malheureusement, ce transfert s'effectue sur un WAN, ce qui prend beaucoup de temps pour les fichiers volumineux, et parfois nos clients oublient le FTP en mode binaire, ce qui entraîne 10 Go de transfert sur notre WAN, le fichier de vidage ne pouvant être chargé à l'autre extrémité. Ce que je voudrais faire, c'est vérifier l'intégrité du fichier de vidage sur le serveur local avant de l'envoyer sur le WAN, mais je ne peux pas simplement essayer de "charger" le fichier de vidage, car nous n'avons pas Sybase installé (et ne peut pas l'installer). Y a-t-il des outils ou des morceaux de code que je peux utiliser pour faire cela?Comment puis-je vérifier l'intégrité d'un fichier de vidage Sybase sans essayer de le charger?

Répondre

3

Il y a plusieurs choses que vous pouvez faire depuis la ligne de commande. Le premier, du côté de l'envoi, est de générer md5sum des fichiers.

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

Du côté client, ils peuvent être exécutés de la même manière. Deuxièmement, les sauvegardes Sybase sont généralement effectuées avec l'option de compression. Si cette option est utilisée, vous pouvez également tester l'intégrité du fichier en décompressant les fichiers via la ligne de commande. Ce n'est pas aussi complet, mais il va vérifier la somme de contrôle CRC-32 de 8 octets qui fait partie de l'algorithme de compression.

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

Aucune de ces méthodes valident que Sybase sera en mesure de charger le fichier, mais il n'aider à assurer que le fichier est pas corrompu.

0

Il n'existe aucun moyen de vérifier réellement l'intégrité du fichier de vidage sans le charger d'une manière ou d'une autre par un serveur de sauvegarde. Le client doit savoir si la sauvegarde est réussie ou non via le journal de sauvegarde ou la sortie pendant la sauvegarde.

Mais pour résoudre votre problème vous devez utiliser SFTP ou SCP, tous les transferts sont effectués en binaire, ce qui réduit votre problème. Assurez-vous qu'ils utilisent également la compression dans la sauvegarde, une valeur de 1-3 est plus que suffisante, cela devrait également réduire votre trafic réseau.

Questions connexes