1. 程式人生 > >PostgreSQL 自動備份,並刪除10天前的備份檔案的windows指令碼

PostgreSQL 自動備份,並刪除10天前的備份檔案的windows指令碼

第一步,建立指令碼,命名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