windows postgresql定时备份 无需手动输入密码

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


 
 
 
 
posted @ 2018-08-16 23:35  longtengdama  阅读(5222)  评论(0编辑  收藏  举报