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

PostgreSQL 自动备份,并删除10天前的备份文件的windows脚本.

第一步,创建脚本,命名back.bat文件

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
 
set PGPASSWORD=password
SET PGPATH=D:postgresqlin
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


 
 
 
 
原文地址:https://www.cnblogs.com/longsanshi/p/9490823.html