以下是方案 - 客戶端將Sybase轉儲文件上傳到(gzip)到我們的本地FTP服務器。我們有一個自動化的過程,將它們挑選出來,然後將它們移動到數據庫服務器所在網絡內的不同服務器上。不幸的是,這種傳輸是通過廣域網進行的,對於大文件需要很長時間,有時我們的客戶忘記以二進制模式進行FTP,這導致在我們的廣域網上傳輸10GB數據,因爲轉儲文件無法加載在另一端。我想要做的是在通過WAN發送出去之前驗證本地服務器上轉儲文件的完整性,但我不能只嘗試「加載」轉儲文件,因爲我們沒有Sybase安裝(並且不能安裝它)。是否有任何工具或代碼可用於執行此操作?如何驗證Sybase轉儲文件的完整性,而不嘗試加載它?
2
A
回答
3
您可以從命令行執行一些操作。第一,在發送方面,是生成文件的md5sum。
$ md5sum *.dmp
2bddf3cd8b04010183dd3295ce7594ff pubs_1.dmp
7510e0250c8d68bae3e0e794c211e60b pubs_2.dmp
091fe54fa5fd81d8c109cc7835d37f4a pubs_3.dmp
在客戶端,它們可以運行相同。其次,通常使用compress選項完成Sybase轉儲。如果使用此選項,則還可以通過命令行解壓縮文件來測試文件的完整性。這並不完整,但它將驗證是壓縮算法一部分的8字節CRC-32校驗和。
$ gunzip --test *.dmp
gunzip: pubs_3.dmp: unexpected end of file
這兩種方法都沒有驗證Sybase能夠加載文件,但它確實有助於確保文件沒有損壞。
0
如果沒有備份服務器以某種方式加載轉儲文件,沒有辦法真正驗證轉儲文件的完整性。在轉儲過程中,客戶端應該通過備份日誌或輸出知道轉儲是否成功。
但是爲了解決您的問題,您應該使用SFTP或SCP,所有傳輸都是以二進制方式完成的,可以緩解您的問題。
確保它們在轉儲中使用的壓縮數值是1-3還綽綽有餘,這也應該減少您的網絡流量。
相關問題
- 1. BitTorrent驗證文件的完整性?
- 2. 驗證文件的完整性?
- 3. 如何驗證保存/加載系統的完整性
- 4. 快速文件完整性驗證
- 5. 使用Keys文件驗證Struts下載的完整性
- 6. 如何驗證Linux tarball的完整性?
- 7. 如何驗證.git文件夾的完整性?
- 8. 驗證文檔的完整性
- 9. 爪哇 - 定製ClassLoader - 嘗試使用類文件的完整路徑加載類
- 10. 的XmlDocument加載XML,而不用驗證
- 11. 驗證JAR文件的完整性是否必要?
- 12. 用於文件完整性驗證的簽名/散列選擇
- 13. 使用邏輯條件驗證文本字段的完整性
- 14. 驗證Android和PHP之間的文件數據完整性
- 15. 是否有工具可以分析大型Java堆轉儲而不加載完整的hprof文件?
- 16. 如何在網站中運行SWF文件而不加載它首先完成
- 17. 如何在C++或python中驗證圖像文件的完整性?
- 18. yosys rtlil轉儲不完整
- 19. 如何檢查文件的存在而不加載它在AS3
- 20. 如何檢查文件的完整性
- 21. 請求驗證/數據完整性
- 22. 驗證API響應完整性
- 23. ImageMagick驗證圖像完整性
- 24. 如何檢查下載的開源文件的完整性?
- 25. 如何驗證上傳文件是否完整
- 26. 下載文件並檢查完整性
- 27. Mongoid加載ActiveModel + +驗證的I18n,不能正常轉換屬性
- 28. macOS內核如何驗證Security.framework的完整性?
- 29. 如何驗證Debian CD映像的完整性?
- 30. 如何驗證git回購的完整性