PostgreSQL 自動備份,並刪除10天前的備份檔案的windows指令碼
阿新 • • 發佈:2018-12-10
第一步,建立指令碼,命名back.bat檔案
@ECHO OFF @setlocal enableextensions @cd /d "%~dp0" set PGPASSWORD=password SET PGPATH=D:\postgresql\bin\ SET SVPATH=d:\zoobackup\ SET PRJDB=gzzoo SET DBUSR=postgres FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k SET DBDUMP=%PRJDB%_%d%.bak @ECHO OFF %PGPATH%pg_dump -h localhost -U postgres %PRJDB% > %SVPATH%%DBDUMP% echo Backup Taken Complete %SVPATH%%DBDUMP% forfiles /p %SVPATH% /d -5 /c "cmd /c echo deleting @file ... && del /f @path"
其中:PGPASSWORD密碼,PGPATH 資料庫路徑,SVPATH備份檔案存放位置,PRJDB資料庫名稱,DBUSR使用者名稱
第二步設定定時任務 參考
https://www.cnblogs.com/franknihao/p/7120851.html
第二步 恢復
cmd 然後進入postgresql的bin目錄
執行
psql -h localhost -U username -d database < d:/data.bak