Postgresql
PostgreSQL 備份 + gzip
我們需要將 PostgreSQL 數據庫備份發送給 CRM 開發人員。我們發送給他們並得到回饋,備份無法“解壓縮”,因為存檔已損壞。
備份腳本片段如下所示:
pg_dump -c -O -U postgres $x -h localhost -p 5432 --disable-dollar-quoting -i | gzip > $BACKUPDIR/$DT-$x.gz
我們檢查了備份過程,我們認為備份系統沒有任何問題。
順便提一句。他們使用 7Zip 解壓縮。
**問題:**您建議我對 CRM 開發團隊說什麼……可能是什麼問題?
順便提一句。事實上,到目前為止,我們還沒有進行任何恢復測試,我知道出於安全原因必須這樣做。
問題 2 我們發現 Linux 伺服器上的所有內容都已正確備份。當我們將它們複製到 SMB 資源並進入 Windows 站時,即使 7zip 也能正確解壓它們。
我們發現問題在於將它們發送到本地 FTP 伺服器。我們通過這個 BASH 腳本發送這些文件:
#!/bin/sh echo FTP file: $1 UPLOAD START #pwd ftp -n 192.168.1.205 <<END_SCRIPT quote user userslogin quote pass userspassw cd /Backup pwd put $1 quit quit END_SCRIPT exit 0
有人可以說如何改進/修復我們的 FTP bash 腳本嗎?
您應該告訴他們您生成轉儲的方式,因為這有點不尋常。一個明顯的問題可能是他們嘗試了一個不理解 GNU zip 的解壓程序。
我建議使用自定義格式:
pg_dump -F c -U postgres -f outfile.dmp $x
可以用 恢復
pg_restore
,並自動壓縮。