2017-04-25 3 views
0

Ich habe Skripte, um Backup-Dateien (von einer PostgreSQL-Datenbank) von einem Server auf einen anderen zu übertragen und diese Dateien zu verarbeiten (Das Betriebssystem dieser Server ist Ubuntu Server 14). Vor der Verarbeitung dieser Dateien muss ich überprüfen, ob sie vollständig gesendet wurden, und ich überprüfe es, indem ich die Größe der Datei mit einer alten Version dieser Datei vergleiche (die neue Datei sollte immer größer sein), ich erhalte Dateigröße mit dem Befehl stat -c %s "$File".Vergleichen Backup-Dateien

Das Problem passiert, wenn wenige Dinge auf dem Server geändert haben und die Backup-Datei richtig ist, aber ein wenig kleiner als seine ältere Version, deswegen verarbeitet das andere Skript die Datei nicht und das sollte nicht passieren.

Meine Frage ist meist theoretisch, ich möchte wissen, ob es eine bessere Möglichkeit gibt, diese beiden Dateien zu vergleichen, um sicherzustellen, dass die Datei nicht beschädigt oder unvollständig ist, ohne zu viel Aufwand (Wiederherstellung der Datenbank) .

+1

Wenn Sie zwei Dateien vergleichen wollen, um zu sehen, ob sie anders sind, können Sie das tun, was jeder im Internet ist, erstellen Sie eine Hashsummen (zum Beispiel MD5). – dood

Antwort

1

Sie können die Gleichheit der Hashwerte der übertragenen Datei auf den beiden Servern prüfen. Wenn sie gleich sind, wurde die Datei erfolgreich übertragen. Zum Beispiel für md5sum können Sie tun:

# md5sum myfilename 
e933c63f33dab322bb545ef93a712c62 myfilename