PG監控或判斷邏輯備份是否正常的方法,在pg_dump沒有引數記錄日誌資訊的情況下

lusklusklusk發表於2022-05-12

oracle邏輯備份expdp,引數dumpfile是資料庫資料存放的檔名稱,引數logfile是日誌存放的檔名稱
sqlserver邏輯備份bcp out,引數-o是資料庫資料存放的檔名稱,引數-e是日誌存放的檔名稱
mysql邏輯備份mysqldump,引數--log-error是錯誤日誌存放的檔名稱,>是資料庫資料存放的檔名稱
而pg的邏輯備份工具pg_dump和pg_dumpall則沒有任何引數來記錄備份期間生成的日誌或錯誤日誌


我們可以使用下面兩種方法來判斷pg邏輯備份是否正常
方法1、
我們可以使用-f記錄資料檔案,使用-v、>、2>&1三者把日誌重定向到>後面檔案,這樣就可以監控>後面檔案內容來檢查pg_dumpall是否正常
pg_dump -d dba -U postgres -v -f /tmp/dba_dump.sql > /tmp/dba_dump.log 2>&1


方法2、
一般我們可以在資料庫的邏輯備份命令執行完後加上以下來判斷邏輯備份是否有問題(所有linux下的資料庫邏輯備份都可以使用這一通用方法來判斷備份是否正常)
if [ $? -eq 0 ]



我們備份可以如下,發現下面三者/tmp/dba_dump.sql、/tmp/dba_dump.log、/tmp/dba_dump1.sql都是記錄的資料的備份,而且三者內容一致且檔案大小一樣,唯一區別就是其中/tmp/dba_dump.sql、/tmp/dba_dump1.sql使用vim開啟後字型高亮顯示有多種顏色,而/tmp/dba_dump.log使用vim開啟後字型沒有高亮顯示只有白色
pg_dump -d dba -U postgres -v -f /tmp/dba_dump.sql

pg_dump -d dba -U postgres -v > /tmp/dba_dump.log

pg_dump -d dba -U postgres -v -f /tmp/dba_dump1.sql > /tmp/dba_dump1.log

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2893669/,如需轉載,請註明出處,否則將追究法律責任。

相關文章