2017-04-25 75 views
0

我有一些腳本可以將備份文件(從PostgreSQL數據庫)從服務器傳輸到另一臺服務器,並處理這些文件(這些服務器的操作系統是Ubuntu Server 14)。在處理這些文件之前,我需要檢查它們是否完全發送,並且通過比較文件的大小和該文件的舊版本(新文件應該總是更大)來檢查它,我使用命令獲取文件大小stat -c %s "$File"比較備份文件

問題發生在服務器上很少發生變化並且備份文件正確時,但比他的舊版本稍小,因爲另一個腳本不處理該文件,並且不應該發生。

我的問題主要是理論上的,我想知道是否有更好的方法來比較這兩個文件,以確保文件沒有損壞或不完整,沒有太多的努力(恢復數據庫) 。

+1

如果要比較兩個文件,看看它們是不同的,你可以做什麼大家都在互聯網上沒有,創建一個哈希和(例如MD5)。 – dood

回答

1

您可以檢查兩臺服務器上傳輸文件的哈希值是否相等。如果它們相同,則文件已成功傳輸。例如,對於的md5sum你可以做:

# md5sum myfilename 
e933c63f33dab322bb545ef93a712c62 myfilename